A general visual flight simulation system

Through the technical route of combining Python and UE, a universal visual flight simulation system was built, which solved the shortcomings of the existing system in rendering effects and versatility, and realized an efficient and flexible flight simulation system that supports the simulation needs of various aircraft.

CN119783259BActive Publication Date: 2025-09-23CALCULATION AERODYNAMICS INST CHINA AERODYNAMICS RES & DEV CENT
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411899342.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-09-23
Estimated Expiration
2044-12-23

AI Technical Summary

Technical Problem

Existing flight simulation systems have shortcomings in rendering effects and versatility, and most of them rely on commercial software, resulting in high costs and lack of flexibility and scalability.

Method used

A general visual flight simulation system is built by combining Python and UE. Python is used to implement aircraft guidance, control and simulation solutions, and UE is used to achieve high-fidelity flight process visualization. The system is modularly designed to support simulations of different types and quantities of aircraft.

Benefits of technology

It realizes an open source, flexible and efficient flight simulation system with strong versatility and scalability, can replace models at will, supports guidance law/control law design and Monte Carlo simulation, and has a wide range of applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119783259B_ABST
    Figure CN119783259B_ABST
Patent Text Reader

Abstract

This invention discloses a universal visual flight simulation system, relating to the field of flight simulation. This invention utilizes a technical approach combining Python and UE to implement flight simulation and visual rendering. The Python language implements aircraft guidance, control, and simulation solutions, demonstrating its autonomous controllability, flexibility, and efficiency. The UE implements a visual display of the flight process, demonstrating its advantages in high-fidelity 3D rendering, while also making the code editable and free to use. This flight simulation system, constructed using a modular approach, allows for flexible replacement of simulation models, enabling flight simulation of different types and quantities of aircraft.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of flight simulation, and in particular to a universal visual flight simulation system. Background Art

[0002] The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.

[0003] Flight simulation involves simulating an aircraft's flight process on a computer through numerical calculations, visual rendering, and other technologies. This provides support for guidance and control law design, air combat strategy research, and flight simulation system development. However, judging the success or failure of a simulation solely through flight data or simulation curves is not intuitive and lacks an immersive experience. Therefore, it is necessary to utilize visual simulation technology, combined with aircraft navigation, guidance, and control technologies, to create a realistic virtual environment that realistically displays the flight process and provides users with an intuitive, interactive audiovisual experience that approximates the actual sight, hearing, and operation of the aircraft.

[0004] Currently, the most common approach for flight simulation and visualization is to combine Matlab / Simulink with FlightGear (a multi-platform flight simulator). However, Matlab / Simulink is slow for large Monte Carlo simulations. Although FlightGear is open source, aircraft configuration, control parameter adjustment, and simulation execution are all handled through XML files, making modification cumbersome. Furthermore, due to the limitations of the SimGear (FlightGear's simulation engine) framework, its display quality has outdated, and the accompanying modeling software, AC3D, also has relatively limited functionality.

[0005] Therefore, researchers at home and abroad have tried other technical routes to achieve flight simulation and visualization. For example:

[0006] 1. Flight simulation was achieved using the dynamics model built into the game "Digital Combat Simulator (DCS) World." Head-mounted visualization systems for fixed-wing and quadrotor aircraft were developed using the Unity 3D and Unreal Engine (UE) game engines, respectively.

[0007] 2. A flight dynamics model was developed in C#, and the aircraft's flight state was determined by solving ordinary differentials. A high-fidelity flight visualization environment was created using Unity 3D to display the flight process. Alternatively, a flight simulation model was built using Matlab / Simulink, and a visual simulation system was developed using VC++ 6.0 and OpenGL as the development environment.

[0008] 3. Use Matlab to realize aircraft flight simulation, and use Microsoft VC++6.0 to realize secondary development of Digital Earth and realize the visualization of flight simulation.

[0009] 4. Use the open source six-degree-of-freedom nonlinear flight dynamics model JSBSim to achieve real-time calculation of flight status, and develop a visualization system through Unity 3D to display the flight process in real time.

[0010] Among the aforementioned technical routes, DCS and Unity 3D are commercial software and require payment. Therefore, none of the technical routes mentioned in the above literature are fully open source and free to use. Summary of the Invention

[0011] The purpose of this invention is to address the problems existing in the current state of the art by providing a universal visual flight simulation system that achieves flight simulation and visual rendering by combining Python and UE. The Python language implements aircraft guidance, control, and simulation solutions, demonstrating its autonomous controllability, flexibility, and efficiency. UE implements a visual display of the flight process, demonstrating its advantages in high-fidelity 3D rendering, while also making the code editable and free to use. This flight simulation system, constructed using a modular approach, allows for flexible replacement of simulation models, enabling flight simulation of different types and numbers of aircraft, demonstrating its high versatility.

[0012] The technical solutions of the present invention are as follows:

[0013] A general visual flight simulation system, comprising: a flight simulation solution subsystem based on Python and a flight simulation visualization subsystem based on UE;

[0014] The flight simulation solution subsystem includes:

[0015] A simulation framework, which is built based on the Simulation Model Portability Specification SMP2 and is used to improve the portability and repeatability of simulation models;

[0016] The aircraft body mathematical model is used to realize real-time calculation of flight status and generate position and attitude information of the aircraft;

[0017] A control law model, wherein the control law model is used to achieve stable and autonomous flight of the aircraft;

[0018] A guidance law model, wherein the guidance law model provides guidance information for the aircraft as a desired input for aircraft position or attitude control;

[0019] An environmental model, which is used to simulate the atmospheric environment, gravity environment, and wind field environment in which the aircraft is located;

[0020] The flight simulation visualization subsystem includes:

[0021] An aircraft 3D visualization model is used to build a high-precision aircraft visual model, realistically displaying details of the aircraft during flight;

[0022] A landscape model, wherein the landscape model is used to generate the space environment in which the aircraft is located;

[0023] A sound effect model, wherein the sound effect model is used to generate the sound emitted by the aircraft during flight;

[0024] A visual control script, which is used to control the aircraft's 3D visual model to respond to received flight status information and implement human-computer interaction functions;

[0025] The flight simulation solver subsystem runs the simulation framework, calls the aircraft's mathematical model, control law model, guidance law model, and environmental model, generates the aircraft's flight status information in real time, and sends this information to the flight simulation visualization subsystem;

[0026] The flight simulation visualization subsystem calls the aircraft 3D visualization model, landscape model, sound effect model and visualization control script based on the received aircraft status information to present the aircraft's flight status to the observer in real time.

[0027] Furthermore, the simulation model portability specification SMP2 provides an IModel model interface and adds a Model class that inherits from the IModel interface.

[0028] Furthermore, the mathematical model of the aircraft body includes: an actuator model, an aerodynamic model, an engine model, an aircraft dynamics model, and a sensor model;

[0029] The actuator model is established by a first-order inertia link, which is established by Python and uses the control library in Python to define the control.TransferFunction function in the library;

[0030] The construction of the aerodynamic model includes:

[0031] Establish a mathematical model of aerodynamic force in the airflow coordinate system;

[0032] Establish aerodynamic torque mathematical model in the body coordinate system;

[0033] The aerodynamic model was constructed using the interpolate module in the Python scientific computing library SciPy.

[0034] The construction of the engine model includes:

[0035] Establish the functional relationship between the effect of engine parameter changes on thrust;

[0036] Establish the forces and moments generated by the engine thrust in the body coordinate system;

[0037] The engine model was constructed using the interpolate module in the Python scientific computing library SciPy.

[0038] The construction of the aircraft dynamics model includes:

[0039] Assuming the aircraft is a rigid body with six degrees of freedom, its dynamic model consists of multiple first-order nonlinear differential equations. The first-order nonlinear differential equations can be solved using the odeint function in the Python scientific computing library SciPy.

[0040] The sensor model is constructed by simulating characteristics of the sensor, such as delay, error, noise, and dead zone. The sensor model is constructed using relevant functions in the Python data analysis library Pandas.

[0041] Furthermore, the control law model is constructed using Python's control library; the control law model first linearizes the six-degree-of-freedom nonlinear model to obtain a linearized equation; secondly, the control links commonly used in the flight control system are constructed; finally, based on the characteristics of the aircraft and the results of the control stability analysis, the control structure of the aircraft is designed and the control parameters are adjusted.

[0042] Furthermore, the construction of the guidance law model includes:

[0043] Select the L1 guidance algorithm to design the guidance law model and implement it using Python basic language programming;

[0044] The L1 guidance algorithm updates the normal acceleration as follows:

[0045]

[0046] in:

[0047] The generated aircraft acceleration command;

[0048] is the flight speed;

[0049] is the radius of the maneuvering arc;

[0050] is the straight-line distance between the target point and the current position of the aircraft;

[0051] for and Angle of direction;

[0052] The L1 guidance algorithm updates the angular velocity using the following equation:

[0053]

[0054] in, is the generated angular velocity command.

[0055] Furthermore, the construction of the environmental model includes:

[0056] Based on the analysis of the physical mechanisms of the environment, mathematical models and formulas are used to describe the flight environment, and atmospheric models, gravity models and wind models are established for aircraft flight simulation.

[0057] The COESA model is selected as the atmospheric model. The COESA model is a static atmospheric model. The input signal is the aircraft altitude, and the output is the atmospheric data at the corresponding altitude. The atmospheric data includes: atmospheric temperature, sound speed, atmospheric pressure and atmospheric density.

[0058] Select the WGS84 coordinate system to establish the gravity model. By inputting the coordinate position, the gravity acceleration value under different coordinates is calculated.

[0059] The established wind model includes discrete gusts, vertical winds, crosswinds, Dryden turbulence, and Von Karman turbulence. The airspeed and attitude changes caused by the wind model are superimposed on the normal flight state to carry out flight simulation.

[0060] The gravity model uses Python's GeoPandas library, and the atmospheric model and wind model are implemented using Python basic language programming.

[0061] Furthermore, the construction of the 3D visualization model of the aircraft includes:

[0062] First, a basic model of the aircraft is constructed based on the reference images, achieving preliminary modeling of the aircraft. Next, the basic model is modified based on multiple reference images, and the surface material of the model is selected and refined to generate a rendered model. Finally, the model is further adjusted and optimized to ultimately generate a 3D visualization model that meets rendering requirements.

[0063] Use 3ds Max software to create a 3D visualization model of the aircraft.

[0064] Furthermore, the construction of the landscape model includes:

[0065] Build the scenery model through UE's built-in map editing system or third-party software and plug-ins.

[0066] Furthermore, the construction of the sound effect model includes:

[0067] Follow the steps of audio file selection and audio effect setting.

[0068] Furthermore, the visual control script consists of two parts: the aircraft model control script and the human-computer interaction control script.

[0069] The aircraft model control script initializes the aircraft state and controls the aircraft's rudder deflection, position change, attitude change, and landing gear retraction and extension based on simulation data, thereby achieving a realistic display effect. The aircraft model control script also incorporates a position jump judgment mechanism, where the landing gear retraction and extension control sets the following two mechanisms: 1. If a retraction and extension animation has been established in the aircraft's 3D visualization model, the landing gear retraction and extension can be completed by simply calling the animation in the script according to the retraction and extension command and controlling the animation's playback order and speed. 2. If no animation has been established in the aircraft's 3D visualization model, then upon receiving the retraction and extension command, the script needs to coordinate the deflection of each component and the contraction of the rods during the retraction and extension process to complete the retraction and extension of the landing gear.

[0070] The human-computer interaction control script realizes the following three functions: first, it selects the corresponding 3D model in the flight simulation visualization subsystem according to the aircraft model in the flight simulation; second, it switches the flight simulation observation perspective according to the operator's keyboard instructions; third, it completes the observation field control according to the mouse and keyboard operations.

[0071] Compared with the existing technology, the beneficial effects of the present invention are:

[0072] 1. The present invention effectively overcomes the shortcomings of existing systems and has the advantages of open source code, realistic rendering effects, strong versatility and scalability.

[0073] 2. The system uses the object-oriented development language Python to achieve real-time flight state calculations and the open-source game engine UE for flight simulation visualization. This simulation system is free from restrictions such as authorization and black-box code. The aircraft model, guidance law model, control law model, landscape model, and sound effect model can be freely replaced, demonstrating its versatility, reusability, and scalability. Furthermore, based on this universal visual flight simulation system, it adds guidance / control law design and Monte Carlo simulation capabilities, further expanding the simulation system's applicability. Furthermore, the models in this system can be exported and used as input for engineering-level combat simulation systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0074] Figure 1 The overall implementation block diagram of the general visual flight simulation system;

[0075] Figure 2 Provide a block diagram for the flight simulation solver subsystem;

[0076] Figure 3 This is the interface diagram of the flight simulation model based on SMP2;

[0077] Figure 4 Implement a block diagram for the mathematical model of the aircraft itself;

[0078] Figure 5 It is a typical inner and outer loop control structure of an aircraft;

[0079] Figure 6 Implement a block diagram for the flight simulation visualization subsystem;

[0080] Figure 7 Develop a flow chart for 3D visualization modeling of aircraft;

[0081] Figure 8 Design and implement block diagrams for visual control scripts. DETAILED DESCRIPTION

[0082] It should be noted that relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.

[0083] The features and performance of the present invention are further described in detail below with reference to the embodiments.

[0084] Example 1

[0085] See also Figure 1 , a general visual flight simulation system, including: a flight simulation solution subsystem based on Python and a flight simulation visualization subsystem based on UE;

[0086] The flight simulation solution subsystem includes:

[0087] A simulation framework based on the Simulation Model Portability 2 (SMP2) specification to improve the portability and repeatability of simulation models.

[0088] The aircraft body mathematical model is used to realize real-time calculation of flight status and generate position and attitude information of the aircraft;

[0089] A control law model, wherein the control law model is used to achieve stable and autonomous flight of the aircraft;

[0090] A guidance law model, wherein the guidance law model provides guidance information for the aircraft as a desired input for aircraft position or attitude control;

[0091] An environmental model, which is used to simulate the atmospheric environment, gravity environment, and wind field environment in which the aircraft is located;

[0092] Flight simulation settings are used to initialize the flight simulation process, such as adjusting the simulation step size, selecting the numerical differential solution algorithm, controlling the output data type, and deciding whether to add a wind field model.

[0093] The flight simulation visualization subsystem includes:

[0094] An aircraft 3D visualization model is used to build a high-precision aircraft visual model, realistically displaying details of the aircraft during flight;

[0095] A landscape model, which is used to generate the spatial environment in which the aircraft is located, such as mountains, cities, airports, oceans, vegetation, etc.;

[0096] A sound effect model, which is used to generate the roar and aerodynamic noise emitted by the aircraft during flight;

[0097] A visual control script, which is used to control the aircraft's 3D visual model to respond to received flight status information and implement human-computer interaction functions;

[0098] Visual simulation settings are used to initialize and adjust the visualization subsystem in real time, such as aircraft 3D model replacement, weather selection, perspective switching, simulation playback, etc.

[0099] After the simulation begins, the flight simulation solver subsystem runs the simulation framework, calls the aircraft's mathematical model, control law model, guidance law model, and environmental model, and generates real-time flight status information such as the aircraft's position, speed, attitude angle, angular velocity, and rudder angle. This information is then sent to the flight simulation visualization subsystem via the LAN using the UDP protocol.

[0100] The flight simulation visualization subsystem uses the aircraft's 3D visualization model, landscape model, sound effect model, and visualization control script based on the received aircraft status information to present the aircraft's flight status to the observer in real time.

[0101] Preferably, the two subsystems can run on the same computer or on different computers in a local area network.

[0102] It should be noted that the flight simulation solver subsystem implementation block diagram is as follows Figure 2 As shown in the figure, the SMP2-based simulation framework forms the foundation of the flight simulation solver subsystem, improving the model's portability and repeatability. This subsystem uses input data such as aerodynamics, geometry, engines, and mass characteristics to establish a mathematical model of the aircraft itself. On this basis, control and guidance law models are then established. Under the influence of the environmental model, real-time flight state calculations are achieved.

[0103] In this embodiment, specifically, it should be noted that the purpose of SMP2 is to define a model development and integration standard, that is, to provide a model development framework to solve the problems of portability and reusability of simulation models, and to achieve platform independence, cross-simulation platform reuse and integration of simulation models.

[0104] Therefore, this embodiment develops a flight simulation framework based on SMP2, and develops mathematical models used in flight simulation on this basis; specifically, the SMP2 standard provides an IModel model interface, such as Figure 3As shown. Among them, the GetName() method returns the name of the model instance, the GetDescription() method returns a description of the model, the GetParent() method returns the parent model of the model in the model tree, the GetState() method returns the current state of the model, the Publish() method requests the model to publish its fields, the Configure() method supports the model to complete customized configuration, and the Connect() method connects the model to the simulation framework to support service subscription or subscription of other model connection points. In order to unify the parameter setting function of the flight simulation model and facilitate porting and reorganization, the Model class is added, which inherits from the IModel interface. All flight simulation models inherit from the Model class and implement the above methods.

[0105] In this embodiment, specifically, Figure 4 As shown, the mathematical model of the aircraft body includes: an actuator model, an aerodynamic model, an engine model, an aircraft dynamics model, and a sensor model.

[0106] In this embodiment, specifically, the actuator model is established through a first-order inertia link, and the first-order inertia link is established through Python, using the control library in Python and defined through the control.TransferFunction function in the library;

[0107] For aircraft, the actuators generally include the servo and throttle. Usually, the mathematical model of the actuator can be established through the following first-order inertia link:

[0108]

[0109] in, for The derivative of For a given input instruction, is the actual output instruction, is the actuator bandwidth, is a saturation function, which is defined as:

[0110]

[0111] To establish the first-order inertia link through Python, you need to use the control library and define the transfer function (i.e., the first-order inertia link) through the control.TransferFunction function in the library.

[0112] In this embodiment, specifically, the construction of the aerodynamic model includes:

[0113] Establish a mathematical model of aerodynamic force in the airflow coordinate system;

[0114] Establish aerodynamic torque mathematical model in the body coordinate system;

[0115] The aerodynamic model was constructed using the interpolate module in the Python scientific computing library SciPy.

[0116] That is, in the aircraft dynamics system, aerodynamic force and torque are the most important external forces. Generally, the model is established based on numerical calculations or wind tunnel test data, using interpolation, linear superposition and other methods.

[0117] Aerodynamic forces are usually expressed in the airflow coordinate system The mathematical model is established as follows:

[0118]

[0119] in, 、 、 They represent lift, side force and drag respectively; Indicates dynamic pressure; represents the wing reference area; 、 、 represent the lift coefficient, side force coefficient and drag coefficient respectively; and denote the angle of attack and sideslip angle respectively; represents the Mach number; 、 、 They represent the roll angular velocity, pitch angular velocity and yaw angular velocity respectively; Indicates the rudder deflection angle;

[0120] Aerodynamic torque is usually expressed in the body coordinate system The mathematical model is established as follows:

[0121]

[0122] in, 、 、 denote the pitching moment, rolling moment, and yaw moment, respectively; Indicates the wingspan; represents the mean aerodynamic chord length; 、 、 They represent the rolling moment coefficient, pitching moment coefficient and yaw moment coefficient respectively.

[0123] In this embodiment, specifically, the construction of the engine model includes:

[0124] Establish the functional relationship between the effect of engine parameter changes on thrust;

[0125] Establish the forces and moments generated by the engine thrust in the body coordinate system;

[0126] The engine model was constructed using the interpolate module in the Python scientific computing library SciPy.

[0127] That is, to establish an engine model, it is necessary to establish the functional relationship between the impact of engine parameter changes on thrust, and secondly, it is necessary to establish the force and torque generated by the engine thrust in the body coordinate system.

[0128] Due to the different types of engines, it is not possible to use a unified expression to describe the engine model. Taking a turbojet engine as an example, its thrust can be expressed by a multivariable function:

[0129]

[0130] in, represents the engine thrust, Indicates the throttle position, Indicates flight altitude.

[0131] The thrust of the engine in the body coordinate system is expressed as:

[0132]

[0133] in, 、 、 Represents the thrust along the body axis 、 、 Three components below the axis; Indicates the thrust in the aircraft's symmetry plane Projection within The angle between the axes; Indicates the thrust in the aircraft Projection of a plane and plane of symmetry The angle between

[0134] The torque generated by the engine thrust in the body coordinate system is expressed as:

[0135]

[0136] in, is the coordinate of the engine thrust action point in the body coordinate system;

[0137] The most frequently used function in aerodynamic and engine modeling is the multidimensional interpolation function, which requires the interpolate module in the Python scientific computing library SciPy.

[0138] In this embodiment, specifically, the construction of the aircraft dynamics model includes:

[0139] Assuming the aircraft is a rigid body with six degrees of freedom, its dynamic model consists of multiple first-order nonlinear differential equations. The first-order nonlinear differential equations can be solved using the odeint function in the Python scientific computing library SciPy.

[0140] Specifically, when building the aircraft dynamics model, the aircraft is assumed to be a rigid body with six degrees of freedom. Its dynamics model consists of 12 first-order nonlinear differential equations, including the center-of-mass dynamics equation, the rotational dynamics equation, the attitude angular motion equation, and the center-of-mass motion equation. The core of flight simulation is the continuous solution of these differential equations to achieve real-time updates of flight status. It should be noted that the detailed derivation of these differential equations is well known to those skilled in the art and will not be elaborated here. The differential equations can be solved using the odeint function in the Python scientific computing library SciPy.

[0141] In this embodiment, the sensor model is constructed by simulating the characteristics of the sensor, such as delay, error, noise, and dead zone, and the sensor model is constructed using relevant functions in the Python data analysis library Pandas.

[0142] It should be noted that the sensors used in aircraft mainly include environmental sensors such as pitot tubes, barometers, and altimeters; position sensors such as accelerometers, GPS navigation devices, and rudder angle sensors; and attitude sensors such as wind vanes and gyroscopes. These sensors have different working principles, and when modeling, it is important to focus on performance indicators such as dead zone, error, noise, delay, and scaling factors. Depending on the sensor, adding the corresponding characteristic function after the object output can simulate the sensor output.

[0143] The operations of sensor modeling can be implemented using the relevant functions in the Python data analysis library Pandas.

[0144] In this embodiment, the control law model is specifically constructed using the Python control library. The control law model first linearizes the six-degree-of-freedom nonlinear model to obtain a linearized equation. Then, the control links commonly used in the flight control system are constructed. Finally, based on the characteristics of the aircraft and the results of the control stability analysis, the control structure of the aircraft is designed and the control parameters are adjusted.

[0145] It should be noted that for aircraft, the most commonly used control method is traditional PID control. The control law design process usually starts from inner loop angular rate control, to attitude angle control, and finally to position control, unfolding layer by layer. Figure 5 This is a typical inner and outer loop control structure diagram;

[0146] This example implements a flight control system using the Python control library. First, the six-degree-of-freedom nonlinear model is linearized to obtain the linearized equations. Next, common control elements of a flight control system are constructed, including an integrator, PID controller, low-pass filter, high-pass filter (washout network), lead-lag loop, notch filter, limiter, and deadband. Finally, the control structure is designed and the control parameters are adjusted based on the aircraft's characteristics and the results of a control stability analysis.

[0147] In this embodiment, specifically, the construction of the guidance law model includes:

[0148] Select the L1 guidance algorithm to design the guidance law model and implement it using Python basic language programming;

[0149] The L1 guidance algorithm updates the normal acceleration as follows:

[0150]

[0151] in:

[0152] The generated aircraft acceleration command;

[0153] is the flight speed;

[0154] is the radius of the maneuvering arc;

[0155] is the straight-line distance between the target point and the current position of the aircraft;

[0156] for and Angle of direction;

[0157] The L1 guidance algorithm updates the angular velocity using the following equation:

[0158]

[0159] in, is the generated angular velocity instruction;

[0160] It should be noted that the guidance law model is used to provide information such as the position and attitude of the aircraft as input to the control law model;

[0161] This embodiment uses the L1 guidance algorithm to design the guidance law. The L1 guidance algorithm is a classic nonlinear UAV path following algorithm, first proposed by MIT (Massachusetts Institute of Technology) in 2004. Its basic idea is to find a path on the target route that is within a certain distance from the UAV. A reference point is used to guide the drone to fly;

[0162] The guidance law model is implemented using Python basic language programming.

[0163] In this embodiment, specifically, the construction of the environment model includes:

[0164] Based on the analysis of environmental physical mechanisms, mathematical models and formulas are used to describe the flight environment, and atmospheric models, gravity models, and wind models are established for aircraft flight simulation;

[0165] The COESA model is selected as the atmospheric model. The COESA model is a static atmospheric model. The input signal is the aircraft altitude, and the output is the atmospheric data at the corresponding altitude. The atmospheric data includes: atmospheric temperature, sound speed, atmospheric pressure and atmospheric density.

[0166] Select the WGS84 coordinate system to establish the gravity model. By inputting the coordinate position, the gravity acceleration value under different coordinates is calculated.

[0167] The established wind model includes discrete gusts, vertical winds, crosswinds, Dryden turbulence, and Von Karman turbulence. The airspeed and attitude changes caused by the wind model are superimposed on the normal flight state to carry out flight simulation.

[0168] The gravity model uses Python's GeoPandas library, and the atmospheric model and wind model are implemented using Python basic programming language;

[0169] That is, the modeling process of the environmental model is: based on the analysis of the physical mechanism of the environment, the flight environment is described using mathematical models and formulas to establish an atmospheric model, a gravity model, and a wind model for aircraft flight simulation. First, the atmospheric model: This article selects the COESA model released by the American Standard Atmosphere Extension Committee as the standard atmospheric model. This model is a static atmospheric model. The input signal of the model is the altitude of the aircraft, and the output is the atmospheric temperature, speed of sound, atmospheric pressure, and atmospheric density at the corresponding altitude. Second, the gravity model: The WGS84 coordinate system is selected to establish the gravity model. By inputting the coordinate position, the gravity acceleration value at different coordinates is calculated. Third, the wind model: The established wind model mainly includes discrete gusts, vertical winds, crosswinds, Dryden turbulence, and Von Karman turbulence, etc. The airspeed and attitude changes caused by them are superimposed on the normal flight state to carry out flight simulation;

[0170] The gravity model can be implemented using Python's GeoPandas library, and the atmosphere and wind models are implemented using Python basic programming language.

[0171] In this embodiment, it should be noted that the flight simulation visualization subsystem implementation block diagram is as follows: Figure 6 As shown;

[0172] First, a 3D visualization model of the aircraft is created using 3D modeling software. Second, to simulate the aircraft's flight environment with high fidelity, a landscape model is built based on the established airport model and weather model. Next, to enhance the audio-visual effects, a sound effects model is established. Finally, a visualization control script is developed to realize the control of the aircraft's 3D model and human-computer interaction functions.

[0173] In this embodiment, specifically, the construction of the aircraft 3D visualization model includes:

[0174] Use 3ds Max software to build a 3D visualization model of the aircraft;

[0175] It should be noted that the construction of the aircraft 3D visualization model is to build an aircraft model with a three-dimensional effect through modeling software. This embodiment uses 3ds Max software to build the aircraft visualization model. The modeling process is as follows Figure 7 As shown;

[0176] First, a basic model of the aircraft is constructed based on reference images, achieving preliminary modeling. Next, the model is modified based on multiple reference images, and surface materials are selected and refined to generate a rendered model. Finally, the model is further adjusted and optimized through steps such as color correction, adding details, and grasping the overall structure, ultimately generating a 3D visualization model that meets rendering requirements. It is important to note that the final 3D model should minimize the number of faces while ensuring rendering quality, thereby reducing the hardware requirements for real-time rendering in visualization simulations.

[0177] In this embodiment, specifically, the construction of the landscape model includes:

[0178] Build the landscape model through UE's built-in map editing system or third-party software and plug-ins;

[0179] It should be noted that the scenery model is used to simulate the spatial environment in which the aircraft performs its flight mission, including mountains, cities, airports, oceans, vegetation, etc. There are many ways to create scenery, such as through the UE's built-in map editing system, third-party software, and plug-ins. This embodiment uses the Landscaping + LandscapingMapbox plug-in to build the scenery; next, the airport and aircraft models need to be integrated into the scenery model to achieve seamless connection between the low-precision scenery model and the high-precision 3D model; on this basis, weather elements such as the sky, atmosphere, fog effect, and sun are added to form a realistic scene of aircraft flight.

[0180] In this embodiment, specifically, the construction of the sound effect model includes:

[0181] Follow the steps of audio file selection and audio effect setting;

[0182] It should be noted that the construction of the sound effect model is usually carried out according to the steps of audio file selection and audio effect setting; audio files are generally downloaded from the Internet, and the sound effects of the same model of aircraft or similar engine sound effects are selected; audio settings can use the Sound Attenuation module that comes with UE4 to set the sound propagation range, focus direction and attenuation style, etc.

[0183] In this embodiment, specifically, the visual control script consists of two parts: the aircraft model control script and the human-computer interaction control script. Its functional components are as follows: Figure 8 As shown;

[0184] That is, the aircraft model control script initializes the aircraft state and controls the aircraft's rudder deflection, position change, attitude change, landing gear retraction and extension according to the simulation data, thereby achieving a realistic display effect. In order to avoid the problem of screen flickering caused by the position returning to zero after the UDP communication protocol packet is lost, a position jump judgment mechanism is added to the control script. There are two mechanisms for landing gear retraction and extension control. If a retraction and extension animation has been established in the aircraft 3D model, it is only necessary to call the animation according to the retraction and extension command in the script, and control the playback order and speed of the animation to complete the retraction and extension of the landing gear; if the animation has not been established in the aircraft 3D model, then after receiving the retraction and extension command, the script needs to coordinate the deflection of each component and the contraction of the rods during the retraction and extension of the landing gear to complete the retraction and extension of the landing gear;

[0185] The human-computer interaction control script mainly realizes three functions: first, it selects the corresponding 3D model in the visualization subsystem according to the aircraft model in the flight simulation; second, it switches the flight simulation observation perspective according to the operator's keyboard commands; and third, it completes the observation field of view control according to the mouse and keyboard operations.

[0186] The above-described embodiments merely represent specific implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of protection of the present application. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the technical concept of the present application, and all such variations and improvements fall within the scope of protection of the present application.

[0187] This background section is provided to generally present the context of the invention, and the work of the presently named inventors, the work to the extent described in this background section, and aspects of the description in this section that did not constitute prior art at the time of filing are neither explicitly nor implicitly admitted to be prior art to the present invention.

Claims

1. A general visual flight simulation system, characterized in that: include: Python-based flight simulation solution subsystem and UE-based flight simulation visualization subsystem; The flight simulation solution subsystem includes: A simulation framework, which is built based on the Simulation Model Portability Specification SMP2 and is used to improve the portability and repeatability of simulation models; The aircraft body mathematical model is used to realize real-time calculation of flight status and generate position and attitude information of the aircraft; A control law model, wherein the control law model is used to achieve stable and autonomous flight of the aircraft; A guidance law model, wherein the guidance law model provides guidance information for the aircraft as a desired input for aircraft position or attitude control; An environmental model, which is used to simulate the atmospheric environment, gravity environment, and wind field environment in which the aircraft is located; The flight simulation visualization subsystem includes: An aircraft 3D visualization model is used to build a high-precision aircraft visual model, realistically displaying details of the aircraft during flight; A landscape model, wherein the landscape model is used to generate the space environment in which the aircraft is located; A sound effect model, wherein the sound effect model is used to generate the sound emitted by the aircraft during flight; A visual control script, which is used to control the aircraft's 3D visual model to respond to received flight status information and implement human-computer interaction functions; The flight simulation solver subsystem runs the simulation framework, calls the aircraft's mathematical model, control law model, guidance law model, and environmental model, generates the aircraft's flight status information in real time, and sends this information to the flight simulation visualization subsystem; The flight simulation visualization subsystem calls the aircraft 3D visualization model, scenery model, sound effect model and visualization control script based on the received aircraft status information to present the aircraft's flight status to the observer in real time.

2. A general visual flight simulation system according to claim 1, characterized in that: The simulation model portability specification SMP2 provides the IModel model interface and adds the Model class that inherits from the IModel interface.

3. A general visual flight simulation system according to claim 1, characterized in that: The mathematical model of the aircraft body includes: an actuator model, an aerodynamic model, an engine model, an aircraft dynamics model, and a sensor model; The actuator model is established by a first-order inertia link, which is established by Python and uses the control library in Python to define the control.TransferFunction function in the library; The construction of the aerodynamic model includes: Establish a mathematical model of aerodynamic force in the airflow coordinate system; Establish aerodynamic torque mathematical model in the body coordinate system; The aerodynamic model was constructed using the interpolate module in the Python scientific computing library SciPy. The construction of the engine model includes: Establish the functional relationship between the effect of engine parameter changes on thrust; Establish the forces and moments generated by the engine thrust in the body coordinate system; The engine model was constructed using the interpolate module in the Python scientific computing library SciPy. The construction of the aircraft dynamics model includes: Assuming the aircraft is a rigid body with six degrees of freedom, its dynamic model consists of multiple first-order nonlinear differential equations. The first-order nonlinear differential equations can be solved using the odeint function in the Python scientific computing library SciPy. The sensor model is constructed by simulating various characteristics of the sensor using relevant functions in the Python data analysis library Pandas. The characteristics include delay, error, noise, and dead zone.

4. A general visual flight simulation system according to claim 1, characterized in that: The control law model is constructed using Python's control library. The control law model first linearizes the six-degree-of-freedom nonlinear model to obtain a linearized equation. Secondly, the control links commonly used in the flight control system are constructed. Finally, based on the characteristics of the aircraft and the results of the control stability analysis, the control structure of the aircraft is designed and the control parameters are adjusted.

5. A universal visual flight simulation system according to claim 1, characterized in that: The construction of the guidance law model includes: Select the L1 guidance algorithm to design the guidance law model and implement it using Python basic language programming; The L1 guidance algorithm updates the normal acceleration as follows: in: a scmd The generated aircraft acceleration command; V is the flight speed; R is the radius of the maneuvering arc; L1 is the straight-line distance between the target point and the current position of the aircraft; η is the angle between V and L1 direction; The L1 guidance algorithm updates the angular velocity using the following equation: Among them, ω cmd is the generated angular velocity command.

6. A universal visual flight simulation system according to claim 1, characterized in that: The construction of the environmental model includes: Based on the analysis of environmental physical mechanisms, mathematical models and formulas are used to describe the flight environment, and atmospheric models, gravity models, and wind models are established for aircraft flight simulation; The COESA model is selected as the atmospheric model. The COESA model is a static atmospheric model. The input signal is the aircraft altitude, and the output is the atmospheric data at the corresponding altitude. The atmospheric data includes: atmospheric temperature, sound speed, atmospheric pressure and atmospheric density. Select the WGS84 coordinate system to establish the gravity model. By inputting the coordinate position, the gravity acceleration value under different coordinates is calculated. The established wind model includes discrete gusts, vertical winds, crosswinds, Dryden turbulence, and Von Karman turbulence. The airspeed and attitude changes caused by the wind model are superimposed on the normal flight state to carry out flight simulation. The gravity model uses Python's GeoPandas library, and the atmospheric model and wind model are implemented using Python basic language programming.

7. A universal visual flight simulation system according to claim 1, characterized in that: The construction of the 3D visualization model of the aircraft includes: First, a basic model of the aircraft is constructed based on the reference images, achieving preliminary modeling of the aircraft. Next, the basic model is modified based on multiple reference images, and the surface material of the model is selected and refined to generate a rendered model. Finally, the model is further adjusted and optimized to ultimately generate a 3D visualization model that meets rendering requirements. Use 3ds Max software to create a 3D visualization model of the aircraft.

8. A universal visual flight simulation system according to claim 1, characterized in that: The construction of the landscape model includes: Build the scenery model through UE's built-in map editing system or third-party software and plug-ins.

9. A universal visual flight simulation system according to claim 1, characterized in that: The construction of the sound effect model includes: Follow the steps of audio file selection and audio effect setting.

10. A universal visual flight simulation system according to claim 1, characterized in that: The visual control script consists of two parts: the aircraft model control script and the human-computer interaction control script. The aircraft model control script initializes the aircraft state and controls the aircraft's rudder deflection, position change, attitude change, and landing gear retraction and extension based on simulation data, thereby achieving a realistic display effect. The aircraft model control script also incorporates a position jump judgment mechanism, where the landing gear retraction and extension control sets the following two mechanisms:

1. If a retraction and extension animation has been established in the aircraft's 3D visualization model, the landing gear retraction and extension can be completed by simply calling the animation in the script according to the retraction and extension command and controlling the animation's playback order and speed.

2. If no animation has been established in the aircraft's 3D visualization model, then upon receiving the retraction and extension command, the script needs to coordinate the deflection of each component and the contraction of the rods during the retraction and extension process to complete the retraction and extension of the landing gear. The human-computer interaction control script realizes the following three functions: first, it selects the corresponding 3D model in the flight simulation visualization subsystem according to the aircraft model in the flight simulation; second, it switches the flight simulation observation perspective according to the operator's keyboard instructions; third, it completes the observation field control according to the mouse and keyboard operations.

Citation Information

Patent Citations

  • Flight control algorithm integrated training platform

    CN114167748A

  • Aircraft intelligent virtual flight method based on deep learning

    CN117951812A