A mechanical device’s degrees of freedom (DoF) are related to its cost. Achieving a high DoF in flight simulators is increasingly expensive. Thus, to avoid a complex mechanical design and high price, the design of the flight simulator was restricted to only two degrees of freedom, i.e., roll and pitch motion. For visual and vestibular human–machine interaction, the motion system included a communication module, control software module, and control system module. The input devices, i.e., HOTAS joystick and throttle, were integrated with the simulator platform, and the game engine was installed on multi-core processors and GPUs. Steam was installed on high-performance workstations to run virtual reality flight simulations on Oculus Rift S. The system’s overall methodology is elucidated in
Figure 2.
The user interacts with the flight simulator using a control stick, offering input commands. The simulation model subsequently processes these input commands. Within the motion-control framework, encompassing motion-control software and a communication module, data undergo translation through washout filters, referred to as the motion cues algorithm. These filters assimilate feedback from position encoders, converting motion-related information into electrical voltage signals. These signals regulate the roll and pitch motions of the motion platform, thereby producing vestibular cues discernible to pilots. The washout algorithm evaluates the analog signal, facilitating the generation of pertinent output motion commands for the controller.
2.1. Communication Module
X-plane establishes communication with an external interface, specifically, MATLAB, 2023b® Simulink, utilizing the UDP communication protocol. The transmitter module is responsible for conveying aircraft state details through data packets. Each data packet comprises four bytes and is organized into nine distinct categories. Therefore, a comprehensive assessment of the aircraft’s navigation state necessitates the analysis of a cumulative 293-byte dataset. On the receiver side of the communication system, an Arduino® UNO device (BCMI, Strambino, Italy) decodes the incoming high-speed data stream, extracting telemetry information and aircraft control surface parameters. The received datasets are deconstructed into discernible control variables. This decoding function then converts the data matrix of packets into a singular floating-point value. Subsequently, these floating-point numbers are further transformed into double-precision values, which govern the motion the flight simulator’s synchronized roll and pitch attributes.
2.2. Mechanical Design
For a 2-degree-of-freedom (2 DoF) configuration, a pair of actuators is aligned along the y-axis. These actuators move correspondingly and inversely to produce pitch and roll motions. The arrangement involves the integration of a stationary lower base and an upper movable frame in a cascaded fashion. A universal joint is coupled with a lower floor and upper edge. The location of the universal joint depends on the user’s center of gravity. Two connecting rods connected to the motor lever at 90° hold the upper frame parallel to the lower base. Swivel joints are connected at both ends of the rods. They remove unnecessary and unwanted strain when the motion platform rotates in the roll and pitch directions. The maximum angular workspace in the roll and pitch directions was found to be ±16° and ±17°, respectively.
It is preliminary to determine the center of gravity (
) concerning the user’s sitting posture, as mentioned in
Figure 3a, before connecting the lower base to the upper portion of the platform, ensuring motion around a fixed reference point. Thus, the vertical placement of the connecting rods was made close to the center of gravity. For offset compensation of the center of gravity, the seat was placed a few inches back from the center of connecting rods.
Another significant parameter in the motion platform’s design involved assessing the force exerted by the motors on the platform and the resultant torque generated. This analysis was crucial to ensure the platform could physically accommodate a load capacity of 120 kg, encompassing both the user and the motion platform.
The other two forces acting on the motors were radial and axial. The radial force was in line with the lever of the motor, whereas the axial force was parallel to the motor’s shaft. These forces were dependent upon the mounting geometry of the actuators. Through static force analysis, and were calculated. All the calculations were performed under two assumptions: (1) the universal joint remains static and (2) the material design is rigid.
The equivalent pitch force and torque were calculated using Equation (
1) and Equation (
2), respectively.
Similarly, the roll torque and force can be calculated using Equation (
3) and Equation (
4), respectively. as illustrated in
Figure 3b.
2.3. Electrical Design and Mathematical Modeling
The electrical system design was sequenced after the flight simulator’s structural assessment and load analysis. This design encompasses a unified module functioning as the central control hub for the flight simulator. This module comprises an Arduino unit, two 30A IBT2 motor control drivers (iHaospace, China), two 24V 21A power supplies denoted S-500-24 (Wenzhou, China), and two Hall-effect potentiometer angle encoders (Digikey, Birmingham, England). These encoders provide positional feedback for motor operation. At the rear end of the motion platform were two 24 V DC worm gear motors strategically engaged in enhancing torque generation for roll and pitch rotations and maintaining the flight simulator in a stable orientation.
The transfer function of the motion platform is obtained through the ratio of output speed and input voltage under the assumption that the torque load is constant:
where
is the angular speed of the motion platform,
is the input voltage to the system,
is the motor constant,
is the armature resistance,
is the armature inductance,
B is the damping coefficient,
is the torque load of the motor,
J is the equivalent inertial load, and
is the back EMF constant of the motor.
The state-space representation of the motion platform can thus be represented as
where
is the internal gear reduction and
is the equivalent inertia of the motion platform.
We consider the system’s closed-loop response, where the angular displacement of the motor is dependent on the analog value of the position encoder. It was necessary to design a controller that tracks the position encoder’s real-time response concerning the aircraft’s aerodynamic characteristic, depicted through the angular motion of the actuator. The mathematical model of the motion platform was simulated through MATLAB Simulink, and a closed-loop response was observed, represented by thinner lines in
Figure 4. The closed-loop system generates a damping response with an
overshoot from the steady-state value with a maximum angular rotation of 40 rpm and a transient response of about 3.24 s. The damped response of the system was optimized using a PID controller. The output of a PID controller is calculated based on feedback error in the time domain as
where
,
, and
are the gain parameters of the PID-based washout algorithm. The washout algorithm was applied in certain conditions where the simulator reached its maximum motion limits. In Condition C2, the simulator’s physical rolling and pitching motion did not reach its maximum limits, so the washout algorithm was not applied. The washout algorithm was applied repeatedly in a fraction of a second in the physical rolling and pitching motion. Therefore, specifying certain instances in which the washout algorithm was applied is challenging.
The thicker line in
Figure 4 represents the PID-tuned response of the system. It is explicit that the PID controller has refined the system’s transient response and improved the steady-state error by reducing the damping oscillations in the system. The tuned values of the PID controller were imported into the motion-control software, i.e., Simtools. Simtools and the microcontroller link the communication module with the motion platform. As the motion-control software extracts real-time parameters from the X-plane, such as force, speed, telemetry, and shifting gear, all these parameters are integrated into a standardized data packet and exported to the microcontroller through a communication module to control the pitch and roll attributes of the flight simulator. The software’s primary data output was tracking the actuators’ position demand through the Hall-effect position encoder potentiometer to simulate real-time flight in the pitch and roll directions.
To replicate a realistic human sensory experience, the motion-control algorithm was enhanced with a series of motion filters, followed by meticulous tuning within the constraints of the flight simulator’s physical capabilities. Introducing a hysteresis loop addressed the gradual transitions in inertial cues, specifically, pitch and roll motion. A recurring issue observed was the simulator becoming wedged at its extremities, failing to reestablish its initial reference position. To counter this, implementing a traction-loss mechanism facilitated the smooth repositioning of the simulator from its maximum or minimum range of motion back to its reference point.
The PID-based washout algorithm, incorporating parameters like filtering and saturation limits, was employed to surpass the inherent physical constraints of the motion platform. When the simulator approaches its operational limits dictated by game inputs, the motion platform effectively reverts to its initial stabilized configuration without necessitating modifications to the game parameters. This iterative process, enhanced by filtering, contributes to the simulator’s overall physical threshold and authenticity. Realignment towards the reference position is executed with minimal velocities, approximately 0.04 m/s, thereby mitigating the incongruence between visual and vestibular cues and minimizing discrepancies in human sensory perception. The saturation limits act as a safeguard, preventing excessive output values that the motion platform may not be able to achieve, ensuring user comfort and safety.