MPC-Based Motion Cueing Algorithm for a 6 DOF Driving Simulator with Actuator Constraints

Driving simulators are widely used for understanding human-machine interaction, driver behavior and in driver training. The effectiveness of simulators in these process depends largely on their ability to generate realistic motion cues. Though the conventional filter-based motion cueing strategies have provided reasonable results, these methods suffer from poor workspace management. To address this issue, linear MPC-based strategies have been applied in the past. However, since the kinematics of the motion platform itself is non-linear and the required motion varies with the driving conditions, this approach tends to produce sub-optimal results. This paper presents a nonlinear MPC-based algorithm which incorporates the nonlinear kinematics of the Stewart platform within the MPC algorithm in order to increase the cueing fidelity and utilize maximum workspace. Further, adaptive weights-based tuning is used to smoothen the movement of the platform towards its physical limits. Full-track simulations were carried out and performance indicators were defined to objectively compare the response of the proposed algorithm with classical washout filter and linear MPC-based algorithms. The results indicate a better reference tracking with lower root mean square error and higher shape correlation for the proposed algorithm. Lastly, the effect of the adaptive weights-based tuning was also observed in the form of smoother actuator movements and better workspace utilization.


Introduction
With the increasing demand for advanced driver assistance systems and automated driving vehicles, driving simulators hold the potential to transform the research and development of intelligent vehicles. They can reduce the cost and time incurred in the vehicle development process and help in designing robust and intelligent solutions. Furthermore, these simulators are increasingly being used for other purposes [1,2], such as human-machine interface studies, understanding driver behavior, and training of drivers in a safe controllable environment.
The effectiveness of such driving simulators is measured by their ability to generate realistic motion cues i.e., the driver or the passenger, sitting inside the simulator should perceived similar motion cues that s/he would perceived while sitting in a real vehicle performing the same maneuver. However due to its limited workspace, the driving simulator cannot be directly subjected to the vehicle motion as then the platform would quickly reach its physical limits and no motion cues could be provided to the driver any further. To overcome this limitation, motion-cueing algorithms have been The classical approach of designing an MCA is done by using the classical washout filters. The algorithm is a combination of multiple linear filters (as shown in Figure 1). The translational accelerations are first high-pass filtered to extract fast dynamics, e.g., the change of acceleration during transitions. The resulting signal is double-integrated to determine the translational displacements of the platform. The slow dynamics, e.g., sustained accelerations, are extracted by filtering the translational accelerations using a low-pass filter in parallel to the high-pass filter. The resulting signals are reproduced by tilting the platform to exploit the gravitational acceleration (Tilt Coordination). The angular velocities are high-pass filtered and integrated to calculate the angular displacements. The purpose is to mainly generate motion cues during the transitions. Sustained yaw motion is eliminated from the signal as the motion platform has limited range of motion on this specific degree of freedom. The signals from the tilt channel and rotational channel are added to calculate the total angular displacements of the motion platform. As per Nahon et al. [3], the major advantage of using such algorithm is that its design is simple and computationally efficient. However, these algorithms have the following shortcomings as well: • Since the parameters of the filters are fixed, they must be designed for the worst-case maneuver. As a result, the algorithm does not use the available workspace for gentle maneuvers resulting in minimum motion. • Tuning the filters is a complex task because the filter coefficients should be modified based on subjective participant feedback without taking into account meaningful physical quantities. • Since there is no provision for incorporating the physical limits of the motion platform within the algorithm, the filters have to be tuned for each maneuver/participant to ensure that the motion platform remains within its physical limit.
To overcome these limitations, adaptive washout filter-based MCA is proposed. It tends to produce more realistic cues when the simulator is near the neutral position and only reduces the fidelity when the simulator is near its physical limits. The algorithm is based on minimizing a cost function comprising of penalties on the tracking error and the platform states. Generally, the optimization is performed by using the steepest descent method. The control scheme of a typical adaptive washout filter is shown in Figure 2. Furthermore, similar to the adaptive washout filter, another scheme named the optimal washout filter is often used for motion-cueing applications [4]. The difference between this approach is that instead of using a gradient descent to minimize a cost, it uses the solution of the algebraic Riccati equation to derive the optimal gain. Although the adaptive and the optimal washout-based filters provide a better solution than the classical washout filters [3], the optimization problem is still solved without imposing any constraints on the physical states of the simulator, resulting in sub-optimal workspace use. To address this issue, Model Predictive Control (MPC) technique has been recently applied to design an MCA. Its ability to handle constraints on system states and usage of the prediction model to regulate the current state makes it a well-suited alternative for this application. It has been shown that besides producing realistic motion cues, undesired effects like the occurrence of motion sickness are also lowered when using MPC-based MCA compared to the conventional filter-based approaches [5,6]. Recently, various approaches to MPC-based MCA have been explored and the superiority of this method compared to the conventional approach has been established for offline simulation and passive driving [7,8]. The scheme of a typical MPC-based MCA is shown in Figure 3. To keep the problem linear, the algorithms designed in the past [9,10] apply the constraints on the position and velocity of the driver's eyepoint. In order to find the available workspace for the eyepoint displacement, the forward kinematic relations have to be used which is concerned with determining the displacement of the platform given the position of all the actuators. However for a six DOF motion platform, there are many solutions to the forward kinematic problem [11] and only one of them corresponds to the actual pose of the platform. Generally, Newton-Raphson method is used to iteratively solve the forward kinematics problem. To reduce the computational effort, a conservatively chosen constant space is often used as the workspace for driver's eyepoint. However, this tends to produce sub-optimal results. An efficient alternative to manage the workspace is to use actuator-based constraints instead of the eyepoint displacements. Garret et al. [12] derived an MPC-based MCA which uses actuator-based constraints. However, linear approximations were applied to the constraints on the actuator lengths. This simplification also affected constraint handling as the inverse kinematics of the motion platform is nonlinear in nature. Degdelen et al. [13], implemented the MPC-based MCA in the Renault ULTIMATE Simulator. The study was done for a single DOF cueing problem (surge acceleration) and tilt coordination was demonstrated as an extension to the basic algorithm. Taking it further, in [14], an explicit MPC-based concept for the Renault ULTIMATE Simulator was proposed. The control problem was decoupled into four separate cases (pitch-surge, roll-sway, heave, and yaw) and a stability condition was determined. The algorithm operates in real time; however, fast degradation in the computational effort was observed as the problem extended to higher dimensions. Katliar et al. [15,16] implemented an MPC-based MCA which included the motion platform actuation for a Cable-Robot-based motion simulator. Their main finding was that with proper software and numerical methods, it is possible to run an MPC-based MCA with a complex model in real time.
In this paper, a new MPC-based MCA has been designed that incorporates the nonlinear kinematics of the Stewart platform. Inverse kinematics relations are used to calculate the length and the velocity of the actuators, which are included as states within the MPC framework. Moreover, the human vestibular system model is included within the MPC formulation to increase the fidelity of the produced motion cues. To manage the workspace efficiently, constraints are imposed on the actuator displacements and state-dependent adaptive weights are used to tune the MPC algorithm. The formulated nonlinear optimization problem is solved using the Real-Time Iteration (RTI) scheme [17] to increase the computational efficiency of the algorithm. Thus, the main contribution and a distinctive feature of the proposed approach is an efficient algorithm producing high-fidelity motion-cueing by using a nonlinear MPC-based controller with actuator-based constraints and state-dependent adaptive weights.
The rest of this paper is structured as follows. Section 2 describes the basics of Steward motion platform and the frames of references associated with it. The system model used within the MPC controller is derived in Section 3. Section 4 presents the details of the MPC formulation, including the objective function, constraints, reference generation, tuning and the optimization problem. In Section 5, several performance indicators are described. The investigated scenario, simulation setup, results and discussion are presented in Section 6. Finally, the conclusions and the recommendations for future work are presented in Section 7.

Motion Platform
The motion platform generally used in driving simulators is a Stewart platform, which is a parallel manipulator controlled by six linear actuators [18,19]. These actuators are attached in pairs at three positions to the triangular shaped top plate called the moving base and at three positions to the fixed base plate at the bottom. In the case of the driving simulator, the vehicle cockpit is attached on top of the moving base. Since the motion platform can have a motion in three translational directions (surge, sway and heave) and three rotational directions (roll, pitch and yaw), it can imitate the motion of a freely suspended body [20]. In this paper, the following three frames of reference with respect to the motion platform are used (shown in Figure 4).
1. Inertial Frame (IF)-is fixed to the ground and does not move with the motion platform. The origin coincides with the centroid of the fixed base of the platform (Point O in Figure 4). The positive x-axis points forward, in the direction of drive. The positive y-axis points to the right, while the positive z-axis points vertically downwards.
2. Platform Frame (PF)-is fixed to the motion platform and moves with it. The origin coincides with the centroid of the moving plate (Point P 0 in Figure 4). Similar to the IF, the positive x-axis points forward, the positive y-axis points to the right, while the positive z-axis points in the downwards direction. Since the PF is body-fixed, its axes are only aligned with that of the IF when the platform has a zero roll, pitch and yaw angle. 3. Driver Frame (DF)-is fixed to the driver's head and moves with it. The origin coincides with the eyepoint of the driver (Point D 0 in Figure 4). The positive x-axis points forward, the positive y-axis points to the right, while the positive z-axis points in the downwards direction. Since DF is fixed to the driver's eyepoint, its axes are only aligned with the IF when the platform has a zero roll, pitch and yaw angle. It should be noted that throughout this paper, all the physical quantities are mentioned in IF unless specified by a superscript. Moreover, the translational acceleration vector is represented by the symbol a and consists of components in all the three canonical directions, i.e., [a x a y a z ] T . Similarly, the translational velocity vector is represented by the symbol v and the translational displacement is represented by the symbol r. Furthermore, the angular acceleration vector is divided into rotational and tilt components. This is done to impose constraints on the tilt component without affecting the rotational component. The total angular acceleration is the sum of both the components and is represented by the symbol α. The vector consists of angular accelerations in three canonical directions, i.e., [α φ α θ α ψ ] T (where φ, θ and ψ are the angles in pitch, roll and yaw directions respectively). Similarly, the angular velocity vector is represented by the symbol ω and the angular displacement is represented by the symbol β.

System Model
Model Predictive Control is a model-based optimal control strategy that computes the control input by solving an optimization problem. This is done to obtain the best possible reference tracking performance by predicting future states using the system model. The system model for the MPC algorithm is divided into two sub-parts.
1. Vestibular system model to provide realistic motion cues. 2. Motion platform model to manage the available motion workspace.

Vestibular System Model
The vestibular system located inside the human ear is primarily responsible to perceive motion in space. Within the vestibular system, there are two parts-the semi-circular canals, responsible for sensing the rotational accelerations and otolith organs, responsible for sensing the translations accelerations. Although extensive research had been conducted in the past for modeling the vestibular system mathematically (in [21][22][23][24][25]), reliable linear models have been derived only recently due to the fact that each human has slightly different perception and in general motion perception is not a linear process [26].

Semi-Circular Canals
Telban et al. [26] derived the linear transfer function of the semi-circular canal as follows: where ω i, rot is the angular velocity to which the passenger is subjected andω i is the perceived angular velocity in one of the three rotational degrees of freedom. In this study, it has been assumed that the parameters of the model used are the same in all the three rotational degrees of freedom. This assumption is based on the physiological results based on the afferent responses of the semi-circular canals according to Telban et al. [26]. Representing Equation (1) in its observable canonical state-space form, leads to:ẋ scc = A scc · x scc + B scc · u scc y scc = C scc · x scc + D scc · u scc (2) where y scc =ω i and u scc = ω i, rot in one of the three canonical directions. Since this model has to be adopted for each rotational degree of freedom (roll φ, pitch θ and yaw ψ) individually, the complete model for semi-circular canals is given as follows: where and input and output signals are shown in Equations (5) and (6). It must be noted that both quantities are expressed at the driver eyepoint (point D 0 ) in DF.

Otolith Organ
Based on the results from Telban et al. [26], the linear transfer function for the otolith organ is given as follows:â where a i is the specific acceleration to which the passenger is subjected andâ i is the perceived specific acceleration in one of the three translational degrees of freedom. Similar to the semi-circular canals, it has been assumed that the parameters of the otolith model used here are also same in all the three translational degrees of freedom. Moreover, both the input and output are to be specified at the driver's eyepoint (D 0 ) in DF. Representing Equation (7) in its observable canonical state-space form, results in: where y oth =â i and u oth = a i , in one of the three canonical directions (surge x, sway y or heave z). Therefore, the complete model for otolith organs is as follows: where and the input and the output signals are shown below as: The complete model of otolith organ should also include the tilt coordination effects into it. The otolith matrix is augmented to the following: It must be noted that small-angle approximation is assumed and the input and the output signals expressed at the eyepoint of the driver (point D 0 ) in DF:

Complete Vestibular System Model
The complete vestibular system is further modeled by combining the state-space models of the semi-circular canals and the otolith organ, resulting in the following system: where (18) and the input and the output signals expressed at the eyepoint of the driver (point D 0 ) in DF: Since the motion platform must be controlled in the IF, the inputs of the vestibular system must be converted from DF to IF. To transform the translational acceleration from DF to IF, the following relation is used: where r PF d is the vector from point P 0 to the driver's eyepoint (point D 0 ) in PF. a P 0 , ω P 0 and α P 0 are the translational acceleration, total angular velocity and total angular acceleration respectively at point P 0 in IF. Furthermore, R IF PF is the rotation matrix for translational acceleration from PF to IF written in terms of the total inclination angles (roll (φ), pitch (θ) and yaw (ψ)) of the motion platform as follows: Moreover, to transform the rotational velocity from DF to IF, the following relation is used: where T IF PF is the rotation matrix for rotational velocity from DF to IF, written in terms of the total inclination angles (roll (φ), pitch (θ) and yaw (ψ)) of the motion platform as follows:

Motion Platform Model
The motion platform model is used by the MPC algorithm to manage the workspace. The workspace of a 6-DOF motion platform is defined as a six-dimensional complex-shaped body where the system is free to move without violating its actuator limitations. The boundaries of the workspace are formed due to the excursion limitations of one or more actuators. The motion space of the platform is defined as space where the system is free to move in the future as per the current state of the system. It should be noted the movement in a single DOF requires contribution from all the linear actuators. As a consequence, the available motion space in one DOF depends on the excursions in other DOFs as well. The following approaches can be used to manage the workspace: • Limiting motion workspace -Forward kinematics is used to calculate the motion space (as per the current actuator position) in terms of the translational and angular displacement of the point P 0 . Furthermore, the constraints are applied based on the current motion state and the same should be updated at each time step. As a result, the resulting motion space is a 6-dimensional complex body. • Limiting actuator workspace-Inverse kinematics is used to determine the motion space directly in terms of the actuator positions. Subsequently, fixed constraints are added based on the permissible actuator length.
Limiting the actuator workspace results in simpler relations, because the stroke limit on each actuator is independent of that of the other actuators while the degrees of freedom of the point P 0 are coupled with each other. For example, the available workspace for the surge motion of point P 0 would depend on the current state of the other degrees of freedom (sway, heave, roll, pitch and yaw). Therefore, the bound on the surge motion will be state-dependent and must be calculated at every time step. Meanwhile, the bound on each actuator will be constant (its excursion or retraction limit) and independent of the other actuators. Therefore, in this study, limiting the actuator workspace is used as the strategy for workspace management.

Actuator Kinematics
The inverse kinematic relations of the Stewart platform can be used to implement the constraints on the actuator length and velocity based on the actuator kinematic relations derived in [27]. According to Figure 4, the following relation for actuator length vector can be derived using vector arithmetic: The actuator length can be formulated as: Moreover, the unit vector along the length vector can be written as: Furthermore, the actuator velocity vector can be computed by differentiating Equation (26). where

Combined System Model
The combined system model consisting of both the vestibular system and the motion platform model. Therefore, the combined system states can be formulated as: where Therefore, the state vector x c is: x c = [ω rot, P 0 β rot, P 0 ω tilt, P 0 β tilt, P 0 v p r p x v l i ] T (32) and the input vector u c can be written as follows: This combined system can be represented as the following: To discretize the system, direct multiple shooting technique is used [28]. The time horizon [t 0 , t 0 + T] (where T = N p × Ts) is divided into N p sub-intervals [t k , t k+N P ] and the state trajectory is computed on each sub-interval independently. Furthermore, matching constraints are added to ensure continuity of the optimal state trajectory on the whole horizon [29]. After discretization, the obtained system can be represented as follows:

MPC Formulation
The MPC controller uses the system model and the current state of the system to predict the evolution of the future state over a finite prediction horizon (N p ). Using this, the optimal control action is derived over a control horizon (N c ). Then, only the first control input is applied to the real system and the same process is repeated for the next time step. Therefore, the MPC input can be regarded as a nonlinear state feedback control input, obtained online by repeatedly solving the optimization problem-minimizing an objective function while adhering to the system dynamics and fulfilling the given constraints at every time step.

Objective Function
The standard objective function for MPC consists of quadratic functions of both the tracking error and the control action along the prediction horizon. In this paper, the objective function is divided into two parts, namely the stage cost ( x c (k), u c (k) ) and the terminal cost (V x c (N p ) ). The total objective function is given as: The expression for stage cost is shown below: where Q and R are the positive semi-definite weight matrices for a penalty on tracking error and control input, respectively. The stage cost function is defined such that it satisfies the following conditions: The expression for the terminal cost is shown below: where P is the positive semi-definite weight matrix for a penalty on the tracking error at the terminal stage of the prediction horizon. For finite prediction horizon problems, stability can be guaranteed by choosing a suitable terminal cost (V) and terminal attractive region Ω [30,31]. Even though the conditions for asymptotic stability are clearly defined, choosing V and Ω is still an open problem [32]. It is shown in [33] that stability can be guaranteed by the tuning the matrices Q, R, and P. Furthermore, a longer prediction horizon (N p ) would help the algorithm to achieve convergence at the cost of a more computational demanding problem.

Constraints
For motion-cueing, the following constraints are generally applied: • Constraint on the tilt rate (ω). • Constraints on the actuator positions (l i ).
The constraint on the tilt rate is to ensure that the tilt coordination effects are not perceived by the human-being. Therefore, the tilt rate should be limited to the threshold values for rotation. The tilt rate constraints were imposed based on the values derived in the research of Reid et. al. [34] and listed in Table 1.
Furthermore, the constraints on the actuator positions are to ensure that the platform remains within its physical limits. This is expressed as the maximum extension (l max ) and retraction (l min ) of the actuator allowed.
l min ≤ l i ≤ l max i = 1, . . . , 6 The set of states x(k) satisfying the aforementioned constraints is denoted by X. Therefore, the combined constraint equations are represented as:

Reference Generation
The reference vector contains the following variables: To ensure that the platform returns to neutral position, the reference for ω rot , β rot , ω tilt , β tilt , v p , r p , l i are set to zero for the entire prediction horizon. Furthermore, the reference for x v contains the reference forâ DF D 0 andω DF D 0 . These are computed by translating the translational acceleration and angular velocities obtained from the vehicle model to the driver's eyepoint in DF and then passing them through the vestibular system model. Since the future reference is not available in advance, the current value of x v is kept constant throughout the prediction horizon.

Adaptive Weight-Based Tuning
The weight matrices used in the above formulation are as follows: In the conventional MPC scheme, the weights of these tuning matrices are fixed in advance. This approach works well if the individual states are not dependent on each other or if the properties of the system do not change during the course of the simulation. However, since the motion-cueing algorithm needs to adapt to the changing workspace, an adaptive weight-based tuning approach has been implemented in this paper. The fundamental idea of this approach is to increase the weight on the position error (W r p ) and velocity error (W v p ) non-linearly as the motion platform reaches near the actuator limit.
The adaptive weights-based tuning results in two main advantages. First, for a constrained MPC problem with a short prediction horizon, the resulting output trajectories are often not smooth when the system states reach the limits of the workspace. This is because the penalty on the system states is constant irrespective of the available workspace. By varying the tuning weights based on the available workspace, a damping action is provided resulting in smooth movement of the platform near the physical limit.
Secondly, the motion-cueing algorithms tend to produce false or missing cues due to constant tendency to perform washout. By keeping the weights on v p and r p low and only increasing it when the platform is near its limits, the adaptive weights-based tuning would also help to reduce the production of false or missing cues. The following weight function is proposed in this study: where a, b, c and d are fixed parameters. The effect of the aforementioned adaptive weight function can be seen in Figure 5. Parameters a and c determine the value of the function at point m in Figure 5, while parameters b and d determine the value of the function at point n 1 and n 2 in Figure 5. It should be noted that the other tuning weights (except W r p and W v p ) in Equation (44) are kept constant and are shown in Table 2. Since the magnitude of the perceived angular velocity is much smaller than that of the perceived translational acceleration, a high weight for it is chosen (i.e., W x v ,â « W x v ,ω ). This scaling of weights is important so that the errors on both quantities are given equal weightage and the MPC algorithm seeks to track both quantities equally. Moreover, since the actuator displacements are already constrained and within the available workspace, free movement of the actuators is desired, a small weight is selected for the actuator displacement (W l i ). Similarly, since the tilt rate is already constrained and free rotatory movement of the hexapod is desired, a low weight on the hexapod inclination angle (W β rot and W β tilt ) and inclination velocity (W ω rot and W ω tilt ) is chosen.

Optimization Problem
The optimal control input is defined by solving the following optimization problem: To solve the aforementioned optimization problem, ACADO toolkit [35] is used including a real-time iteration scheme to solve the nonlinear MPC problem. Multiple shooting technique is used to discretize the nonlinear continuous-time system. The objective function, which is arranged in the least-squares form, is solved using Sequential Quadratic Programming (SQP) technique. The RTI scheme uses the warm-start technique with shifting procedure to linearize the system, i.e., the solution of the optimization problem at the previous time step is shifted and used as the new linearization point. To reduce the number of optimization variables in the QP problem, a condensing procedure is used [28]. The resulting condensed QP problem is then passed to the qpOASES solver [36] using the active set method to evaluate the solution. In order to reduce the computational time and solve the optimization problem, the RTI method divides the optimization problem into two parts: • Preparation step: The objective function is evaluated in the form of unknown state feedback x 0 . The original QP problem is formulated and condensed into a smaller and denser QP. • Feedback step: The state feedback x 0 is substituted and the QP is solved to obtain the control input.
The preparation step is performed at the previous time step. As soon as the state feedback x 0 is obtained, it is substituted in the QP and the solution is obtained. In this paper, a sampling time of 0.01 s was used with a prediction horizon N P = 50 and the control horizon N C equal to N P .

Performance Indicators
To compare different motion-cueing algorithms, specific performance indicators should be specified. Furthermore, these indicators must be chosen to compare both the reference tracking performance and workspace use of the MCA.

Indicators for Reference Tracking Performance
Root Mean Square Error (RMSE) calculates for each time step is added and the result is normalized so that the indicator can compare short and long signals fairly. RMSE is presented in Equation (47) and has the range of [0, +∞].
Correlation Coefficient (CC) is the shape correlation between the reference and the actual signal given in Equation (48) with the range of [0, +1]. If the two signals are similar in shape, then the CC should be close to one, while it should be close to zero when there is low correlation [37]. This indicator can be particularly useful to signify if there are many missing or false cues.
Estimated Delay (ED) calculates the magnitude of delay between the reference and the actual signal. Since both the signals are not exactly equal, actual delay cannot be calculated. Therefore, it is estimated as the offset applied to the reference signal which maximizes the correlation coefficient. The range of ED indicator is [0, +∞] and an ideal signal with no delay with respect to the reference should have ED equal to zero.

Indicators for Workspace Use
Interquartile range (IQR) of the actuator length can be used to analyze how an MCA uses the available actuator workspace [38]. It is a measure of variability and is defined as the difference between the 75th and 25th percentile of the given sample. A high interquartile range denotes high usage of the actuator workspace.

Simulation Setup
The control scheme of the experiment is shown in Figure 6. A hatchback car was simulated using experimentally validated simulation model on the Hockenheim ring (Germany) in the IPG Carmaker software. The maneuver was simulated for a single lap on the circuit. A virtual sensor was placed on the eyepoint of the driver to record the accelerations and angular velocities. The resulting signal was recorded, passed on to the vestibular system model and the output was fed to the reference generator. Since a 1:1 reproduction of these quantities is not possible due to limited workspace of the motion platform, a scaling factor was used. Moreover, Grácio et al. [39] established that a 1:1 ratio of the inertial and visual cues are reported as too strong by the participants and thus, not preferred. Based on the mentioned study, the optimal scaling factor, known as optimal gain depends on the amplitude and the frequency of the stimuli, and the preferred motion gain decreases with the increase of the stimuli amplitude. Taking this into account and the capabilities of the motion platform, a scaling factor of 0.5 applied to the reference quantities and the resulting signals are passed to the controller as the reference signal. At every time step, the adaptive weights are calculated based on the actuator lengths. Furthermore, the controller receives the system states and the output error from the motion platform calculating the control input using the nonlinear MPC scheme. The calculated control input, i.e., the translational and rotational acceleration of the moving base centroid of the platform is passed to the industrial motion platform emulator [40] representing the performance of the Delft Advanced Vehicle Simulator (DAVSi), which is shown in Figure 7. The dynamic threshold values for the latency of platform motion are in the range of 10 to 20 ms depending on the direction of motion [41]. The system performance of the motion platform is summarized in Table 3. The algorithm performance is analyzed based on the performance indicators mentioned in Section 5. The results of the proposed nonlinear MPC-based MCA (NLMPC) are compared with Linear MPC (LMPC) and the classical washout filter (CWF)-based MCAs. All the algorithms were tuned to maximize the reference tracking performance while keeping the actuator positions within the physical limits.
The simulations were performed on a standard Intel Core i7 2.6 GHz system with 16 GB RAM and x 64-bit Windows 10 operating system and later dSPACE Scalexio system to check hard real-time feasibility. Furthermore, to test the real-time capabilities of the algorithm, the execution time required by the ACADO solver to solve the optimal control problem (OCP) was collected and shown in Figure 8. It can be inferred from the Figure 8 that the time taken by the solver at each time step throughout the simulation is less than the sampling time (0.01 s), making it feasible to implement in real time.

Simulation Results
The reference tracking performance for perceived acceleration is shown in Figures 9-11 while the reference tracking performance for the angular velocities is shown in Figures 12-14. To further analyze the workspace use, actuator lengths spanned during the course of this simulation are shown in Figure 15 Figure 9, it can be inferred that the NLMPC algorithm results in a lower RMSE value compared to the benchmarked algorithms. Moreover, the high CC value indicates a high shape correlation. The RMSE and CC values for the CWF and LMPC algorithms indicate a comparatively inferior performance. Although the LMPC algorithm produces better results than CWF, both the algorithms produce false or missing cues. It can also be seen that both the MPC-based algorithms result in higher ED value compared to the CWF algorithm. This behavior of the MPC-based algorithms can be improved if the reference is known a priori.
Similar conclusions can be drawn from Figure 10. The NLMPC algorithm produces a superior reference tracking performance, which is reflected in the low RMSE and high CC values. Although the LMPC algorithm results in significant RMSE value, its CC value is high. This is because it produces correct but scaled-down cues resulting in high shape correlation; however, the high error as well. Moreover, the performance of CWF is again inferior compared to the other two algorithms.
From Figure 11, it can be inferred that since the value of the reference signal is small, all the three algorithms result in comparatively lower RMSE values. The NLMPC algorithm produces a high CC value compared to the other algorithms. As mentioned before, the ED value is high for both the MPC-based algorithms in all the above cases meaning that the produced cues are delayed. A reference prediction strategy can be used to improve this behavior.

Reference Tracking Performance: Rotational Velocity
The reference tracking performance for the perceived angular velocity is shown in Figures 12-14.
Since most of the reference cues are below the perception threshold, the quality of the produced cues in such cases does not matter as long as it is below the threshold. Therefore, the MCA performance should be judged based on the quality of the cues above the perception threshold.   From the presented results, it can be inferred that the NLMPC algorithm outperforms the LMPC and CWF algorithm in terms of both the RMSE and the CC values. Moreover, a high ED value is observed for both the MPC-based algorithms.
From Figure 13, it can be seen that the LMPC algorithm produces perceivable false cues. For every peak that the algorithm tracks on the positive side, it produces an opposite peak in the negative side, resulting in a false cue. This is because after producing the cue from the high peak, the algorithm quickly tries to bring back the platform to the neutral position (washout effect), resulting in the production of the false cue. In NLMPC algorithm, this behavior is governed by the adaptive weight-based tuning scheme. The weights on the position and velocity of the hexapod is only increased when the platform is near its limits. Therefore, the washout process becomes effective only when the platform is near the limits which reduces the tendency of the algorithm to produce false cues. 6.2.3. Workspace Use: Actuator displacement From Figure 15, it can be inferred that the CWF algorithm uses the available workspace conservatively, as reflected by the lower IQR value. This can be attributed to the fact that the algorithm was tuned as per the limiting excursion (excursion of actuator 1 at 102 s). Therefore, during the other parts of the simulation, the algorithm uses the workspace conservatively. The LMPC scheme allows overcoming this limitation as the algorithm has a better knowledge of the platform limits and the same is taken into account while optimizing at each time step to obtain the control action. This results in a higher IQR value for the LMPC algorithm. Meanwhile, the adaptive tuning scheme further allows the NLMPC algorithm to span more workspace as the washout effect becomes effective only when the platform is near its physical limits resulting in a higher IQR value.

Conclusions
This paper aimed to propose a new nonlinear MPC-based motion-cueing algorithm incorporating the dynamic response of the vestibular system and the nonlinear kinematic model of the Stewart platform. The tilt coordination scheme is captured within the vestibular system model. To incorporate constraints on the rate of g-tilting without affecting the production of roll, pitch or yaw cues, the rotational velocity states are decoupled into separate rotational states (for actual rotational motion) and tilt states (for tilt coordination). Constraints are imposed on the tilt states. In the motion platform model, the actuator positions and velocities are calculated by using the nonlinear inverse kinematics of the Stewart platform and included as states within the MPC framework. Furthermore, the actuator displacements are constrained. Lastly, to manage the actuator workspace efficiently and attain smoother movement of the platform, an adaptive weight-based tuning methodology has been proposed changing the tuning weights on the platform displacement and velocities as per the available actuator motion space.
The proposed algorithm is evaluated in full-track simulations and its performance is compared to the classical washout filter and linear MPC-based MCA. Based on the literature, several performance indicators are defined to objectively evaluate and compare the reference tracking and workspace use performance of different MCAs.
The results showed superior performance of the proposed algorithm in terms of reference tracking over the linear MPC and CWF-based algorithms. The proposed algorithm produced less false or missing cues compared to the classical washout filter and linear MPC-based MCA which might reduce simulator sickness. Lastly, the proposed algorithm showed better workspace use compared to the linear MPC and CWF-based algorithms.
The further work is focused on hard real-time testing using a physical hexapod to validate the findings of this paper. Other extensions include a subjective evaluation of the MCA in active and passive driving conditions.