Air missile behavior simulation method and system in three-dimensional geographic scene
By combining Cesium and JSBSim technologies in Unreal Engine UE5, a system for air missile behavior simulation in three-dimensional geographic scenarios was constructed, which solved the problems of insufficient frequency, lack of dynamic modeling and localized simulation scenarios in the existing technology, and achieved high frequency, complete dynamics and globally adjustable simulation effects.
Patent Information
- Application Number
- CN202311759283.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-19
- Publication Date
- 2025-06-20
AI Technical Summary
The prior art has problems with insufficient frequency, lack of dynamic modeling of strike targets and limited simulation scenarios in three-dimensional geographic scenarios.
Unreal Engine UE5 is used to build a three-dimensional geographic scenario with Cesium plug-in, and the aircraft dynamics modeling is used to use the JSBSim open source project, and missile dynamics simulation is carried out through the UE5's physical engine to achieve high-frequency motion and precise control of missiles in three-dimensional scenarios.
The simulation frequency is increased to 60hz, giving the strike target dynamic modeling, allowing it to fly along waypoints in autonomous driving mode, and the simulation scenario can be performed at any location around the world.
Smart Images

Figure CN120180579A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computer simulation, and particularly to a method and system for simulating the behavior of air-to-air missiles in a three-dimensional geographical scene. Background Art
[0002] In the air combat confrontation scenario, the evaluation of missile effectiveness is of great significance. If the method of live firing test is adopted, due to the high cost of missile manufacturing and the high cost of manufacturing and operating the missile strike target, huge costs will be incurred. At the same time, since the firing test can only be carried out in a limited number of times in a limited scenario, its reference value often has geographical limitations and incomplete sample numbers. Especially when it is necessary to evaluate the effectiveness of the missile in the enemy-occupied area, the firing test can hardly simulate a consistent environment. In view of the deficiencies of the live firing test, the industry has proposed a method of using computer simulation to simulate the behavior of missiles and target flying objects. Currently, the commonly used air-to-air missile computer simulation schemes are two types: numerical simulation-based and three-dimensional engine-based. The numerical simulation-based scheme focuses on the dynamic modeling of missiles and aircraft, and uses the dynamic model to batch-run numerical calculation programs in the computer to obtain the corresponding effectiveness evaluation results. Generally, no three-dimensional scene is included in this scheme, and missiles and flying objects are usually described as a single particle or a data structure composed of multiple attributes in the calculation. This scheme has the problem that it cannot adapt to scenarios that require optical information such as infrared countermeasure and ultra-low altitude countermeasure. The three-dimensional engine-based scheme makes up for the above deficiencies. Currently, the most mature three-dimensional engine-based scheme in the industry uses Unity 3d to construct the three-dimensional scene required for simulation, uses Matlab Simulink to construct the dynamic model of the missile, takes the scene video stream generated by Unity as the input of the Matlab simulated seeker, and controls the missile to lock and track, and has achieved practical application results. However, this scheme currently has three major problems: (1) The video stream consumes computing resources, resulting in insufficient simulation frequency (less than 30 hz); (2) The flying object as the strike target does not have dynamic modeling and moves in a simple straight line; (3) Only a local simulation scene can be set, and it is impossible to simulate missile tests at any location in the world. Therefore, it is necessary to solve the above three problems to build a more credible simulation system.
[0003] Patent document CN115186378A discloses a real-time solution method for tactical control distance in an air combat simulation environment, which is obtained by generating and training a real-time solution model. The model training process includes: constructing a three-dimensional motion model of a carrier aircraft and an air-to-air missile in a beyond-visual-range air combat and its constraint model and setting simulation constraints to obtain an offline solution model; using the maximum initial search range of each group of sample motion data and the tactical control distance boundary to obtain the corresponding tactical control distance value through enemy missile and carrier aircraft motion simulation and then construct a sample database; constructing an initial real-time solution model based on a sparse autoencoder network and using the sample database for network training to obtain a target real-time solution model, inputting each group of motion data to be tested into the target real-time solution model to obtain the corresponding tactical control distance value and then obtain the tactical control distance boundary. However, this patent cannot completely solve the existing technical problems and cannot meet the needs of the present invention. Summary of the invention
[0004] In view of the defects in the prior art, the object of the present invention is to provide a method and system for simulating the behavior of air-to-air missiles in a three-dimensional geographical scene.
[0005] The method for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene provided by the present invention comprises:
[0006] Step 1: Open the Cesium plug-in in Unreal Engine UE5, create a new scene, and add the Cesium world terrain component, Cesium geographic reference, and Cesium sky and lighting components to the scene;
[0007] Step 2: Create an aircraft Actor in UE5 using the existing aircraft 3D model, attach a Cesium geographic information component to the Actor, and convert the aircraft coordinates to its position in the UE5 scene;
[0008] Step 3: Import the existing missile 3D model into UE5, create a physical asset for the model, create the missile's physical body in the physical asset according to the actual shape of the missile, set the physical type of the physical body to simulation, enable gravity, and set the physical properties including mass and damping through the actual parameters of the missile, so as to drive the missile 3D model to move in the UE5 scene to complete the simulation of missile dynamics;
[0009] Step 4: Use the missile physics asset to create a missile Actor, place a 2D scene capture component at the seeker position, set the texture target of the 2D scene capture component to a texture render target newly created in the UE5 asset, encode the relevant missile control logic through the UE5 blueprint or C++ code, and place the control logic in the Actor's per-frame call event;
[0010] Step 5: In the JSBSim open-source project, write the aircraft xml script in the scripts folder, set the aircraft model and the waypoints passed by the aircraft's autopilot, and configure <output>The tag outputs the aircraft attitude and coordinates to the specified port via UDP;
[0011] Step 6: In the UE5 scene, according to the set waypoints, deploy missile Actors around the flight path of the aircraft, and customize the enabling conditions of the Actors according to the needs of the simulation;
[0012] Step 7: Start the JSBSim simulation using a command in the root directory of the JSBSim project. The simulation in UE5 also starts simultaneously. By writing programs and scripts supported by UE5, customize the relevant information collection system and the simulation event trigger sequence to meet the requirements of relevant simulation tests.
[0013] Preferably, the said Step 1 includes:
[0014] First, set the light source intensity to 6.0 lux in the child directional light component of the Cesium sky and lighting component;
[0015] After that, set the longitude, latitude and elevation of the origin to the desired simulation location in the Cesium geographic reference;
[0016] Finally, set the time zone to the time zone of the simulation location and set the time to the desired simulation occurrence time in the Cesium sky and lighting component.
[0017] Preferably, the said Step 2 includes: Write blueprint scripts or C++ code inside the Actor, and use the socket module of UE5 or the operating system to receive the xml script file from the specified non-occupied port of the JSBSim open-source project <output>The attitude and coordinate data in the specified format of the label are used to directly assign the received attitude data to the rotation attribute of the aircraft Actor. After that, the received coordinate data is used as the input of the function that moves the Cesium geographic information component to the specified longitude, latitude, and elevation. This function automatically converts the aircraft coordinates to its position in the UE5 scene.
[0018] Preferably, step 5 includes: setting the aircraft model used to F16, modifying the c310ap.xml file in the aircraft\c310 directory, and under the <lag_filter name="fcs / heading-roll-error-lag"> tag <c1>The attribute is modified to 0.25, under the <pid name="fcs / heading-pi-controller"> tag <kp> 、 <ki> 、 <kd>Modify the attributes to 0.75, 0.06, and 0.75 respectively, and modify the ROC formula under the <fcs_function name="fcs / hdot-command"> tag to ROC(ft / sec)=100 - h / 833.33; after the modification, rename c310ap.xml to f16ap.xml and copy it to the aircraft\f16 folder; finally, add the following content to the <flight_control> node of f16.xml under aircraft\f16:
[0019] <system file="GNCUtilities" / >
[0020] <autopilot file="f16ap">
[0021] <property value="25">ap / roll-pid-kp
[0022] <property value="2.5">ap / roll-pid-ki
[0023] <property value="8.5">ap / roll-pid-kd
[0024]
[0025] Modify the content of the <summer name="fcs / roll-rate-command"> node to:
[0026] <summer name="fcs / roll-rate-command">
[0027] <input> fcs / roll-rate-pid
[0028] <input> fcs / aileron-cmd-norm
[0029] <input> ap / aileron-cmd-norm
[0030] <clipto>
[0031] <min> -1< / min>
[0032] <max> 1< / max>
[0033] < / clipto>
[0034]
[0035] Modify the content of the <summer name="fcs / elevator-cmd-limiter"> node to:
[0036] <summer name="fcs / elevator-cmd-limiter">
[0037] <input> fcs / elevator-cmd-norm
[0038] <input> fcs / pitch-trim-cmd-norm
[0039] <input> ap / elevator-cmd-norm
[0040] <clipto>
[0041] <min> -1< / min>
[0042] <max> 0.44< / max>
[0043] < / clipto>
[0044] 。
[0045] Preferably, the physical engine of UE5 is used to perform dynamic modeling on the missile. The modeling process takes the mass, gravity, thrust, linear damping, and angular damping of the actual missile as inputs, and outputs the speed and attitude of the missile. The expressions satisfied in the UE5 physical engine are as follows:
[0046]
[0047] Where m is the missile body mass, V is the missile body speed, t is the missile body movement time, P is the thrust, α and β are the angle of attack and sideslip angle of the missile body respectively, g is the gravitational constant, ζ b 、ζ w are the linear damping of the missile body and the linear damping of the wing respectively, r b 、r w are the angular damping of the missile body and the angular damping of the wing respectively, and θ, ψ, and γ are the pitch angle, yaw angle, and roll angle of the missile body respectively.
[0048] According to the anti-aircraft missile behavior simulation system provided by the present invention in a three-dimensional geographical scene, it includes:
[0049] Module M1: Open the Cesium plug-in in the Unreal Engine UE5, create a new scene, and add the Cesium world terrain component, Cesium geographical reference, and Cesium sky and lighting component to the scene;
[0050] Module M2: Create an aircraft Actor in UE5 through the existing 3D model of the aircraft, attach the Cesium geographical information component to the Actor, and convert the aircraft coordinates to its position in the UE5 scene;
[0051] Module M3: Import an existing 3D missile model in UE5, create a physical asset for this model, create the physical shape of the missile according to the actual shape of the missile in the physical asset, set the physical type of the physical shape to simulation, enable gravity, and set physical properties including mass and damping through the actual parameters of the missile, so as to drive the 3D missile model to move in the UE5 scene to complete the simulation of missile dynamics;
[0052] Module M4: Create a missile Actor using the missile physical asset, place a 2D scene capture component at the seeker position, set the texture target of the 2D scene capture component to a newly created texture render target in the UE5 asset, encode the relevant missile control logic through the blueprint or C++ code of UE5, and place the control logic in the per-frame call event of the Actor;
[0053] Module M5: In the JSBSim open-source project, write an aircraft xml script in the scripts folder, set the aircraft model and the waypoints passed by the aircraft's autopilot, and configure <output>The tag outputs the aircraft attitude and coordinates to the specified port via UDP;
[0054] Module M6: In the UE5 scene, according to the set waypoints, deploy missile Actors around the flight path of the aircraft, and customize the enabling conditions of the Actors according to the needs of the simulation;
[0055] Module M7: Start the JSBSim simulation using a command in the root directory of the JSBSim project. The simulation in UE5 also starts simultaneously. By writing programs and scripts supported by UE5, customize the relevant information collection system and the simulation event trigger sequence to meet the requirements of relevant simulation tests.
[0056] Preferably, the module M1 includes:
[0057] First, set the light source intensity to 6.0 lux in the child parallel light component of the Cesium sky and lighting component;
[0058] After that, set the longitude, latitude, and elevation of the origin to the desired simulation location in the Cesium geographic reference;
[0059] Finally, set the time zone to the time zone of the simulation location and set the time to the desired simulation occurrence time in the Cesium sky and lighting component.
[0060] Preferably, the module M2 includes: Write blueprint scripts or C++ code inside the Actor, and use the socket module of UE5 or the operating system to receive the xml script file from the specified non-occupied port of the JSBSim open-source project <output>The aircraft attitude and coordinate data in the specified format of the label are used to directly assign the received attitude data to the rotation attribute of the aircraft Actor. After that, the received coordinate data is used as the input of the function that moves the Cesium geographic information component to the specified longitude, latitude, and altitude. This function automatically converts the aircraft coordinates to its position in the UE5 scene.
[0061] Preferably, the module M5 includes: setting the aircraft model to be used as F16, modifying the c310ap.xml file in the aircraft\c310 directory, and under the <lag_filter name="fcs / heading-roll-error-lag"> tag <c1>The attribute is modified to 0.25, under the <pid name="fcs / heading-pi-controller"> tag <kp> 、 <ki> 、 <kd>Modify the attributes to 0.75, 0.06, and 0.75 respectively, and modify the ROC formula under the <fcs_function name="fcs / hdot-command"> tag to ROC(ft / sec)=100 - h / 833.33; after the modification, rename c310ap.xml to f16ap.xml and copy it to the aircraft\f16 folder; finally, add the following content to the <flight_control> node of f16.xml under aircraft\f16:
[0062] <system file="GNCUtilities" / >
[0063] <autopilot file="f16ap">
[0064] <property value="25">ap / roll-pid-kp
[0065] <property value="2.5">ap / roll-pid-ki
[0066] <property value="8.5">ap / roll-pid-kd
[0067]
[0068] Modify the content of the <summer name="fcs / roll-rate-command"> node to:
[0069] <summer name="fcs / roll-rate-command">
[0070] <input> fcs / roll-rate-pid
[0071] <input> fcs / aileron-cmd-norm
[0072] <input> ap / aileron-cmd-norm
[0073] <clipto>
[0074] <min> -1< / min>
[0075] <max> 1< / max>
[0076] < / clipto>
[0077]
[0078] Modify the content of the <summer name="fcs / elevator-cmd-limiter"> node to:
[0079] <summer name="fcs / elevator-cmd-limiter">
[0080] <input> fcs / elevator-cmd-norm
[0081] <input> fcs / pitch-trim-cmd-norm
[0082] <input> ap / elevator-cmd-norm
[0083] <clipto>
[0084] <min> -1< / min>
[0085] <max> 0.44< / max>
[0086] < / clipto>
[0087] 。
[0088] Preferably, the physical engine of UE5 is used to perform dynamic modeling on the missile. The modeling process takes the mass, gravity, thrust, linear damping, and angular damping of the actual missile as inputs, and outputs the speed and attitude of the missile. The expressions satisfied in the UE5 physical engine are as follows:
[0089]
[0090] Among them, m is the mass of the missile body, V is the speed of the missile body, t is the movement time of the missile body, P is the thrust, α and β are the angle of attack and sideslip angle of the missile body respectively, g is the gravitational constant, ζ b 、ζ w are the linear damping of the missile body and the linear damping of the wing respectively, r b 、r w are the angular damping of the missile body and the angular damping of the wing respectively, and θ, ψ, and γ are the pitch angle, yaw angle, and roll angle of the missile body respectively.
[0091] Compared with the prior art, the present invention has the following beneficial effects:
[0092] (1) The solution proposed by the present invention uses the UE5 engine, which is based on C++ and is closer to the computer's underlying hardware at the programming language level. Moreover, the seeker's field of view is directly processed locally in the engine without passing through a video stream, thus increasing the simulation frequency to 60 hz;
[0093] (2) The present invention uses the open-source project JSBSim simulation that complies with the LGPL 2.0 protocol as the fighter aircraft for the missile target. This not only enables the target to have dynamic modeling but also allows it to fly along waypoints in the autopilot mode, improving the credibility of the simulation;
[0094] (3) The present invention uses Cesium to generate a digital twin earth suitable for the scenarios described above, enabling the simulation scenario to be theoretically specified at any location on the globe. Description of the Drawings
[0095] Other features, objectives, and advantages of the present invention will become more apparent by reading the following detailed description of non - restrictive embodiments with reference to the accompanying drawings:
[0096] Figure 1 It is the flow chart of the missile simulation and target - searching control algorithm of the present invention. Specific embodiments
[0097] The present invention will be described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several changes and improvements can still be made. These all fall within the protection scope of the present invention.
[0098] Embodiment 1
[0099] As Figure 1 , the present invention provides a method for simulating the behavior of an air - to - air missile in a three - dimensional geographical scene, including the following steps:
[0100] Step 1: Open the Cesium plugin in the Unreal Engine UE5, create a new scene, and add CesiumWorld Terrian, Cesium Georeference, and Cesium Sun Sky in the scene. First, set the light intensity to 6.0 lux in the sub - Actor Directional Light of Cesium Sun Sky; then, set the longitude, latitude, and elevation of the origin to the desired simulation location in Cesium Georeference; finally, set the time zone to the time zone of the simulation location and set the time to the desired simulation occurrence time in Cesium Sun Sky.
[0101] Step 2: Create an aircraft Actor in UE5 through an existing 3D model of an aircraft, attach a Cesium Globe Anchor component to the Actor, write blueprint scripts or C++ code inside the Actor, and use the Socket module of UE5 or the OS to receive the xml script file from JSBSim from a specified non - occupied port (such as port 3500) <output>The aircraft attitude and coordinate data in the specified format of the label are directly assigned to the rotation attribute of the aircraft Actor, and the received coordinate data is converted into the position of the aircraft in the UE5 scene through the MoveToLonLatAlt method of the Cesium Globe Anchor component.
[0102] Step 3: Import the existing 3D model of the missile in UE5, create a physical asset for this model, create the physical shape of the missile according to the actual shape of the missile in the physical asset, set the physical type of the physical shape to "simulation", enable gravity, and set physical properties such as mass and damping through the actual parameters of the missile.
[0103] Step 4: Create a missile Actor using the missile physical asset created in Step 3, place a Scene Capture 2D at the seeker position, set the texture target of the Scene Capture 2D to a newly created TextureRenderTarget in the UE5 asset, encode the relevant missile control logic through the blueprint or C++ code of UE5, and place the control logic in the tick event of the Actor to be called every frame.
[0104] Step 5: In the JSBSim open-source project, write the aircraft xml script (named f16runway.xml) in the scripts folder, set the used aircraft model to F16, configure the waypoints that the aircraft is expected to fly automatically through in the simulation, configure <output>The tag outputs the aircraft attitude and coordinates to the specified port via UDP; afterwards, modify the c310ap.xml file in the aircraft\c310 directory, and under the <lag_filter name="fcs / heading-roll-error-lag"> tag <c1>The attribute is modified to 0.25, under the <pid name="fcs / heading-pi-controller"> tag <kp> 、 <ki> 、 <kd>Modify the attributes to 0.75, 0.06, and 0.75 respectively, and modify the ROC formula under the <fcs_function name="fcs / hdot-command"> tag to ROC(ft / sec)=100 - h / 833.33; after the modification, rename c310ap.xml to f16ap.xml and copy it to the aircraft\f16 folder; finally, add the following content to the <flight_control> node of f16.xml under aircraft\f16:
[0105] <system file="GNCUtilities" / >
[0106] <autopilot file="f16ap">
[0107] <property value="25">ap / roll-pid-kp
[0108] <property value="2.5">ap / roll-pid-ki
[0109] <property value="8.5">ap / roll-pid-kd
[0110]
[0111] Modify the content of the <summer name="fcs / roll-rate-command"> node to:
[0112] <summer name="fcs / roll-rate-command">
[0113] <input> fcs / roll-rate-pid
[0114] <input> fcs / aileron-cmd-norm
[0115] <input> ap / aileron-cmd-norm
[0116] <clipto>
[0117] <min> -1< / min>
[0118] <max> 1< / max>
[0119] < / clipto>
[0120]
[0121] Modify the content of the <summer name="fcs / elevator-cmd-limiter"> node to:
[0122] <summer name="fcs / elevator-cmd-limiter">
[0123] <input> fcs / elevator-cmd-norm
[0124] <input> fcs / pitch-trim-cmd-norm
[0125] <input> ap / elevator-cmd-norm
[0126] <clipto>
[0127] <min> -1< / min>
[0128] <max> 0.44< / max>
[0129] < / clipto>
[0130]
[0131] Step 6: In the scene of UE5, according to the waypoints set in Step 5, deploy the missile Actors in Step 4 around the flight path of the aircraft, and set the enabling (launch) conditions of the Actors according to the needs of the simulation.
[0132] Step 7: Finally, use the command: jsbsim scripts / f16runway.xml --realtime in the root directory of the JSBSim project to start the JSBSim simulation. The simulation in UE5 will also start simultaneously. Technicians can customize the relevant information collection system and the triggering order of simulation events by writing programs and scripts supported by UE5 to meet the requirements of relevant simulation tests.
[0133] Use the physical engine of UE5 to perform dynamic modeling on the missile. The modeling process takes the mass, gravity, thrust, linear damping, and angular damping of the actual missile as inputs, and outputs the speed and attitude of the missile. The expressions it satisfies in the UE5 physical engine are:
[0134]
[0135] Among them, m is the mass of the missile body, V is the speed of the missile body, t is the movement time of the missile body, P is the thrust, α and β are the angle of attack and sideslip angle of the missile body respectively, g is the gravitational constant, ζ b 、ζ w are the linear damping of the missile body and the linear damping of the wing respectively, r b 、r w are the angular damping of the missile body and the angular damping of the wing respectively, and θ, ψ, γ are the pitch angle, yaw angle, and roll angle of the missile body respectively.
[0136] Example 2
[0137] Example 2 is the preferred example of Example 1.
[0138] The present invention proposes a method for simulating the behavior of air-to-air missiles in a three-dimensional geographical scene, which includes three steps: using the open-source plugin Cesium for Unreal to build a digital twin earth, using the open-source engine Unreal 5 to build a missile dynamics model, and using the open-source C++ module JSBSim to build an aircraft dynamics model. In the first step, the Cesium for Unreal (hereinafter referred to as Cesium) plugin is used. After relevant parameter settings and the deployment of an offline map server or the acquisition of online map data, a three-dimensional digital earth is generated in Unreal 5 (hereinafter referred to as UE5) to provide the surrounding geographical environment for the simulation. In the second step, the physical engine of UE5 is used to import relevant missile modeling. After setting parameters such as mass and thrust, a model integrating the three-dimensional shape, dynamics, and target acquisition control logic of the missile is built in UE5 by writing the processing code of RenderTexture and the missile flight logic code. In the third step, JSBSim is combined with the Socket (UDP) module of UE5, and the PID autopilot control of the aircraft is carried out by modifying the xml configuration file of JSBSim, and a three-dimensional model of the aircraft with dynamic modeling and autopilot flight is built in UE5.
[0139] The present invention is implemented through the following technical solutions:
[0140] The present invention relates to a method for simulating the behavior of air-to-air missiles in a three-dimensional geographical scene applied in the military industry field, which includes algorithms and physical parameters related to the missile dynamics model and target acquisition control simulation, control algorithms and parameters designed for the PID autopilot control of the F16 fighter based on the open-source project JSBSim (compliant with the LGPL open-source protocol), and a method for generating a three-dimensional digital twin earth for the above application scenarios.
[0141] The present invention relates to a system for implementing the above method. The system includes five modules: a digital earth module, a missile dynamics model module, a missile guidance and control logic module, a fighter UDP communication module, and a JSBSim background program call module. Among them: The digital earth module is a digital twin model of the earth constructed using Cesium in UE5. It can use online geographical data or data from an offline deployed backend geographical server. To adapt to relevant scenarios, relevant parameters need to be adjusted to meet the requirements of reliable simulation. The missile dynamics model uses the physical engine of UE5 to perform dynamic modeling of the missile, involving the model parameters that need to be set during the modeling process to meet the requirements of the simulation scenario and the algorithms for the missile to generate thrust and adjust its direction. The missile guidance and control module is the module that determines how the missile searches for enemies in the simulation scenario, involving algorithms for generating seeker capture images based on UE5 TextureRenderTarget, seeker target capture algorithms, and homing tracking algorithms. This module will generate the control quantities required in the missile dynamics module based on the targets found by the seeker in the field of view to guide the missile to track the target for a strike. The fighter UDP communication module is used to establish data communication between UE5 and JSBSim, enabling the three-dimensional model (Actor) of the fighter in UE5 to move according to the attitude and coordinates calculated by the JSBSim dynamics model. The JSBSim background program call module is the module that calculates the attitude and coordinates of the fighter in the background. It performs dynamic calculations for the F16 autopilot flight based on the parameter configuration XML file provided by the present invention.
[0142] Those skilled in the art know that in addition to implementing the system, device, and their respective modules provided by the present invention in the form of pure computer-readable program code, the method steps can be logically programmed to enable the system, device, and their respective modules provided by the present invention to be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers, etc., to achieve the same program. Therefore, the system, device, and their respective modules provided by the present invention can be regarded as a hardware component, and the modules included therein for implementing various programs can also be regarded as the structure within the hardware component; the modules for implementing various functions can also be regarded as either software programs for implementing the method or the structure within the hardware component.
[0143] The specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Without conflict, the embodiments of the present application and the features in the embodiments can be combined arbitrarily.< / kd> < / ki> < / kp> < / output> < / output> < / kd> < / ki> < / kp> < / output> < / output> < / kd> < / ki> < / kp> < / output> < / output>
Claims
1. A method for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene, characterized in that, include: Step 1: Open the Cesium plug-in in Unreal Engine UE5, create a new scene, and add the Cesium world terrain component, Cesium geographic reference, and Cesium sky and lighting components to the scene; Step 2: Create an aircraft Actor in UE5 using the existing aircraft 3D model, attach a Cesium geographic information component to the Actor, and convert the aircraft coordinates to its position in the UE5 scene; Step 3: Import the existing missile 3D model into UE5, create a physical asset for the model, create the missile's physical body in the physical asset according to the actual shape of the missile, set the physical type of the physical body to simulation, enable gravity, and set the physical properties including mass and damping through the actual parameters of the missile, so as to drive the missile 3D model to move in the UE5 scene to complete the simulation of missile dynamics; Step 4: Use the missile physics asset to create a missile Actor, place a 2D scene capture component at the seeker position, set the texture target of the 2D scene capture component to a texture render target newly created in the UE5 asset, encode the relevant missile control logic through the UE5 blueprint or C++ code, and place the control logic in the Actor's per-frame call event; Step 5: In the JSBSim open-source project, write the aircraft xml script in the scripts folder, set the aircraft model and the waypoints passed by the aircraft's autopilot, and configure <output> The tag outputs the aircraft attitude and coordinates to the specified port via UDP;< / output> Step 6: In the UE5 scene, place missile actors around the flight path of the aircraft according to the set waypoints, and customize the enabling conditions of the actors according to the needs of the simulation; Step 7: Use the command in the root directory of the JSBSim project to start the JSBSim simulation. The simulation in UE5 is also started at the same time. By writing programs and scripts supported by UE5, you can customize the relevant information collection system and simulation event triggering sequence to meet the requirements of relevant simulation experiments.
2. The method for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 1, characterized in that, The step 1 comprises: First, set the light intensity to 6.0lux in the sub-parallel lighting component of the Cesium sky and lighting component; After that, set the latitude, longitude, and elevation of the origin to the desired simulation location in the Cesium georeference; Finally, in the Cesium Sky and Lighting component, set the time zone to the time zone of the simulation location and the time to the time you want the simulation to occur.
3. The method for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 1, characterized in that, The said step 2 includes: writing blueprint scripts or C++ codes inside the Actor, using the socket module of UE5 or the operating system to receive the xml script file of the JSBSim open-source project from a specified unoccupied port <output> The tag specifies the aircraft attitude and coordinate data in the format, and directly assigns the received attitude data to the rotation property of the aircraft Actor. After that, the received coordinate data is used as the input of the Cesium geographic information component's move to the specified latitude, longitude and elevation function, which automatically converts the aircraft coordinates to its position in the UE5 scene.< / output> 4. The method for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 1, characterized in that, Step 5 includes: setting the aircraft model used to F16, modifying the c310ap.xml file in the aircraft\c310 directory, and under the <lag_filter name="fcs / heading-roll-error-lag"> tag <c1>The attribute is modified to 0.25, under the <pid name="fcs / heading-pi-controller"> tag <kp> 、 <ki> 、 <kd>Modify the attributes to 0.75, 0.06, and 0.75 respectively, and modify the ROC formula under the <fcs_function name="fcs / hdot-command"> tag to ROC(ft / sec) = 100 - h / 833.33; after the modification, rename c310ap.xml to f16ap.xml and copy it to the aircraft\f16 folder; finally, add the following content to the <flight_control> node of f16.xml under aircraft\f16:< / kd> < / ki> < / kp> <system file="GNCUtilities" / > <autopilot file="f16ap"> <property value="25">ap / roll-pid-kp <property value="2.5">ap / roll-pid-ki <property value="8.5">ap / roll-pid-kd Modify the content of the <summer name="fcs / roll-rate-command"> node to: <summer name="fcs / roll-rate-command"> <input> fcs / roll-rate-pid <input> fcs / aileron-cmd-norm <input> ap / aileron - cmd - norm <clipto>< / clipto> <min> -1< / min> <max> 1< / max> Modify the content of the <summer name="fcs / elevator-cmd-limiter"> node to: <summer name="fcs / elevator-cmd-limiter"> <input> fcs / elevator-cmd-norm <input> fcs / pitch-trim-cmd-norm <input> ap / elevator-cmd-norm <clipto>< / clipto> <min> -1< / min> <max> 0.44< / max> 。 5. The method for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 1, wherein, Use the physical engine of UE5 to perform dynamic modeling on the missile. The modeling process takes the mass, gravity, thrust, linear damping, and angular damping of the actual missile as inputs and outputs the speed and attitude of the missile. The expression it satisfies in the UE5 physical engine is: where m is the mass of the projectile, V is the velocity of the projectile, t is the motion time of the projectile, P is the thrust, α and β are the angle of attack and sideslip angle of the projectile respectively, g is the gravitational constant, ζ b , ζ w are the linear damping of the projectile and the linear damping of the fin respectively, r b , r w are the angular damping of the projectile and the angular damping of the fin respectively, and θ, ψ, γ are the pitch angle, yaw angle and roll angle of the projectile respectively.
6. A system for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene, wherein, Including: Module M1: Open the Cesium plugin in the Unreal Engine UE5, create a new scene, and add the Cesium world terrain component, Cesium geographic reference, and Cesium sky and lighting components to the scene; Module M2: Create an aircraft Actor in UE5 through the existing 3D model of the aircraft, attach the Cesium geographic information component to the Actor, and convert the aircraft coordinates to its position in the UE5 scene; Module M3: Import the existing 3D model of the missile in UE5, create a physical asset for the model, create the physical shape of the missile according to the actual shape of the missile in the physical asset, set the physical type of the physical shape to simulation, enable gravity, and set the physical properties including mass and damping through the actual parameters of the missile, so as to drive the 3D model of the missile to move in the UE5 scene to complete the simulation of missile dynamics; Module M4: Create a missile Actor using missile physical assets, place a 2D scene capture component at the seeker position, set the texture target of the 2D scene capture component to a newly created texture render target in the UE5 asset, encode the relevant missile control logic through UE5 blueprints or C++ code, and place the control logic in the per-frame call event of the Actor; Module M5: In the JSBSim open-source project, write the aircraft xml script in the scripts folder, set the aircraft model and the waypoints passed by the aircraft's autopilot, and configure <output>The tag outputs the aircraft attitude and coordinates in a specified format to a designated port via UDP; < / output> Module M6: In the UE5 scene, deploy missile Actors around the flight path of the aircraft according to the set waypoints, and customize the enabling conditions of the Actors according to the needs of the simulation; Module M7: Start the JSBSim simulation using a command in the root directory of the JSBSim project, and at the same time start the simulation in UE5. By writing programs and scripts supported by UE5, customize the relevant information collection system and the order of simulation event triggering to meet the requirements of relevant simulation tests.
7. The system for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 6, wherein, The said Module M1 includes: First, set the light source intensity to 6.0 lux in the child directional light component of the Cesium sky and lighting component; After that, set the longitude, latitude, and elevation of the origin to the desired simulation location in the Cesium geographic reference; Finally, set the time zone to the time zone of the simulation location and set the time to the desired simulation occurrence time in the Cesium sky and lighting component.
8. The system for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 6, wherein, The module M2 includes: writing blueprint scripts or C++ code inside the Actor, using the socket module of UE5 or the operating system, and receiving xml script files of the JSBSim open-source project from a specified non-occupied port <output>The tag specifies the aircraft attitude and coordinate data in a specified format, directly assigns the received attitude data to the rotation property of the aircraft Actor, and then uses the received coordinate data as the input to the function that moves the Cesium geographic information component to the specified longitude, latitude, and elevation. This function automatically converts the aircraft coordinates to its position in the UE5 scene. < / output> 9. The system for simulating the behavior of an air-to-air missile in a three-dimensional geographical scene according to claim 6, wherein, The module M5 includes: setting the aircraft model to be used as F16, modifying the c310ap.xml file in the aircraft\c310 directory, and under the <lag_filter name="fcs / heading-roll-error-lag"> tag <c1>The attribute is modified to 0.25, under the <pid name="fcs / heading-pi-controller"> tag <kp> 、 <ki> 、 <kd>Modify the properties to 0.75, 0.06, and 0.75 respectively, and modify the ROC formula under the <fcs_function name="fcs / hdot-command"> tag to ROC(ft / sec)=100 - h / 833.33; After modification, rename c310ap.xml to f16ap.xml and copy it to the aircraft\f16 folder; Finally, add the following content to the <flight_control> node of f16.xml in aircraft\f16: < / kd> < / ki> < / kp> <system file="GNCUtilities" / > <autopilot file="f16ap"> <property value="25">ap / roll-pid-kp <property value="2.5">ap / roll-pid-ki <property value="8.5">ap / roll-pid-kd Modify the content of the <summer name="fcs / roll-rate-command"> node to: <summer name="fcs / roll-rate-command"> <input> fcs / roll-rate-pid <input> fcs / aileron-cmd-norm <input> ap / aileron-cmd-norm <clipto>< / clipto> <min> -1< / min> <max> 1< / max> Modify the content of the <summer name="fcs / elevator-cmd-limiter"> node to: <summer name="fcs / elevator-cmd-limiter"> <input> fcs / elevator-cmd-norm <input> fcs / pitch-trim-cmd-norm <input> ap / elevator-cmd-norm <clipto>< / clipto> <min> -1< / min> <max> 0.44< / max> 。 10. The air-to-air missile behavior simulation system in a three-dimensional geographical scene according to claim 6, characterized in that, Use the physical engine of UE5 to perform dynamic modeling on the missile. The modeling process takes the mass, gravity, thrust, linear damping, and angular damping of the actual missile as inputs, and outputs the speed and attitude of the missile. The expression it satisfies in the UE5 physical engine is: where m is the mass of the projectile, V is the velocity of the projectile, t is the movement time of the projectile, P is the thrust, α and β are the angle of attack and sideslip angle of the projectile respectively, g is the gravitational constant, ζ b and ζ w are the linear damping of the projectile and the linear damping of the fin respectively, r b and r w are the angular damping of the projectile and the angular damping of the fin respectively, and θ, ψ, and γ are the pitch angle, yaw angle, and roll angle of the projectile respectively.
Citation Information
Patent Citations
Tactical control distance real-time resolving method in air combat simulation environment
CN115186378A