Distributed large-scale aircraft flight data simulation generation method and system
By designing a distributed large-scale aircraft flight data simulation generation system, the problem that the existing technology is difficult to meet the needs of complex low-altitude flight trajectory simulation is solved, and the flight trajectory data generation and large-scale target simulation trajectory of civil aviation, general aviation and drones are realized. The generated support improves simulation efficiency and scalability.
Patent Information
- Application Number
- CN202411563741.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-02-14
AI Technical Summary
The existing technology is difficult to meet the complex and flexible flight trajectory data simulation requirements in low-altitude flight scenarios, and has poor scalability and cannot support large-scale drone flight trajectory simulation.
A distributed large-scale aircraft flight data simulation generation system was designed, including simulation process control module, simulation target management module, simulation result output module, distributed simulation task node and atomic action library, supporting civil aviation, general aviation and drones Flight trajectory data is generated, and simulation trajectory generation is achieved through distributed systems to achieve large-scale goals.
It realizes efficient simulation of low-altitude complex flight trajectories, supports the generation of simulation trajectories of large-scale targets, improves the efficiency of low-altitude economic scenario development and information system development, and meets the simulation needs of different accuracy and complexity.
Smart Images

Figure CN119439779A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of aviation data, and in particular to a distributed large-scale aircraft flight data simulation generation method and 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] With the support and guidance of the state, my country's civil aviation industry has achieved rapid development. By the end of 2022, my country has 248 civil aviation airports, 65 civil aviation enterprises, and 4,054 aircraft. There are 599 traditional general aviation enterprises with general aviation business licenses, 12,663 drone general aviation enterprises with general aviation business licenses, 3,018 registered general aviation aircraft, 370 registered general airports, and 781,000 registered drone owners in the industry. The Civil Aviation Administration of China's development plan proposes to achieve a new level of aviation safety, a new improvement in comprehensive support capabilities, and a new level of aviation service capabilities, and to give full play to the important role of general aviation in supporting the construction of a strong civil aviation country in multiple fields, serving economic and social development, meeting national defense needs, and helping to build a new development pattern.
[0004] With the continuous development of general aviation, drones and other technologies, the scale of low-altitude economy continues to grow, but the business logic, application scenarios, supervision methods, information systems, etc. are still under exploration. Low-altitude flight has the characteristics of a large number of targets, flexible flight, complex environment, variable trajectories, and diverse scenarios. Safety and efficiency are the key. Different application scenarios, control schemes, and system designs need to be evaluated with the support of simulation data. New technologies need to be verified under simulation data, and new systems need to use simulation data to verify performance. The existing systems that support large-scale target simulation are mainly based on the characteristics of civil aviation flights or only support simple flight trajectories, which cannot meet the needs of flexible and complex low-altitude flight trajectory data simulation in various low-altitude scenarios. By realizing the distributed large-scale aircraft flight data simulation generation method and system, a large number of targets and complex motion simulation trajectories are generated, providing effective data support for program demonstration, technology verification, performance testing, etc., which is helpful to improve the efficiency of low-altitude economic scenario development, low-altitude economic construction program demonstration, and low-altitude information system development, and provide technical support for promoting the development of low-altitude economy.
[0005] At present, the patent "A method for simulating aircraft navigation, electronic equipment and storage medium" is mainly used to simulate aircraft flying along the route; the patent "A method for interactive three-dimensional flight simulation in EFB" mainly realizes the simulation of the entire civil aviation flight process; the patent "A method for calibrating a simulation model of an unmanned aerial vehicle flight control system" is mainly committed to the accurate simulation of the flight of a single type of aircraft, used to support ground equipment testing for model unmanned aerial vehicles; the patent "A method for generating conflict-free flight trajectories based on logical timing deduction simulation" performs planned trajectory simulation based on flight plans, and is mainly suitable for civil aviation flights that fly according to plans.
[0006] In summary, the disadvantages of the prior art include:
[0007] It mainly simulates civil aviation flight trajectories, but does not support the simulation of low-altitude large-scale drone flight trajectories;
[0008] The simulation of drone trajectories is targeted at specific models or scenarios and has poor scalability;
[0009] It is mainly based on preset plans and paths, and does not support simulation interaction and control during the simulation process. Summary of the invention
[0010] The purpose of the present invention is to provide a distributed large-scale aircraft flight data simulation generation method and system to address the problems existing in the prior art, establish a universal simulation trajectory generation framework, support the flight trajectory data generation of civil aviation, general aviation and unmanned aerial vehicles; at the same time, establish a distributed and scalable system to achieve simulation trajectory generation of large-scale targets; and design scalable simulation functions to support the continuous expansion of the trajectory simulation capabilities of the system, thereby solving the above-mentioned problems.
[0011] The technical solution of the present invention is as follows:
[0012] A distributed large-scale aircraft flight data simulation generation system, comprising:
[0013] Simulation process control module, simulation target management module, simulation result output module, distributed simulation task node, atomic action library;
[0014] The simulation process control module is used to execute the simulation process and control the state of the simulation, and provide a functional interface and function implementation for the simulation;
[0015] The simulation target management module is used to manage the simulation target information of the simulated flight target, and supports the addition and deletion of targets, the setting and change of target flight actions, and the allocation of simulation targets to simulation nodes;
[0016] The simulation result output module periodically encodes and outputs the flight data of all simulation targets according to the specified technical protocol, output cycle and output address;
[0017] The distributed simulation task node executes the assigned target flight simulation task, realizes the target flight simulation through the atomic action library, and maintains the target simulation flight state;
[0018] The atomic action library provides a general flight action simulation interface, defines flight action classification and the implementation of different flight actions; each flight action outputs the target flight state data of the next cycle based on the flight state of the previous cycle and the aircraft performance parameters.
[0019] Furthermore, the simulation target information includes:
[0020] Target number, aircraft performance, aircraft current status, aircraft flight maneuver sequence and aircraft current flight maneuver;
[0021] All simulation targets are stored in key-value pairs with the target number as the index, and the addition and deletion of simulation targets are realized. At the same time, according to the allocation relationship between the cached simulation targets and the simulation task nodes, the corresponding simulation task nodes are notified to add and delete the corresponding simulation targets.
[0022] Furthermore, the simulation target management module also has a large batch target automatic generation function.
[0023] Furthermore, the distributed simulation task node receives the simulation target data assigned by the simulation target management module or the updated simulation target data, and executes the data simulation of all targets according to the drive controlled by the simulation task and the atomic flight action sequence predetermined by the target, and transmits back the result of each simulation data update;
[0024] Each simulation task node maintains a simulation target set. When a new simulation target is assigned, the simulation target data is added to the simulation set. When a simulation target is deleted, the target number is used as the index to remove it from the simulation target set.
[0025] The simulation task node sets or updates the simulated flight action according to the driver execution of the simulation target management, including adding subsequent simulation actions, adding immediate execution simulation actions, and replacing current simulation actions.
[0026] Furthermore, after obtaining the target state data set pushed by the simulation process control module, the simulation result output module encodes the target state data according to the preset protocol and sends it to the specified network address; the data output needs to configure the output address IP and network port, as well as the corresponding output frequency. The simulation data update frequency 1 / t is an integer multiple of the output frequency, and the fastest is to output each simulation result.
[0027] Furthermore, the atomic action library divides the atomic flight actions into six types: stunt type, time type, address type, distance type, status type, and message type;
[0028] All atomic actions define a unified interface to determine the function name and parameter type when calling atomic actions for updates;
[0029] Each type of atomic action implements a unified atomic action interface to establish an abstract class, which defines the key parameters and input methods required for this type of action;
[0030] Each atomic action inherits the corresponding abstract class according to the type of action, and adds specific parameters required to implement the specific action; the atomic action implements the function defined in the unified interface, and realizes the update calculation of the target state according to the elements of the action and the simulation mathematical model;
[0031] After building the atomic action library, the simulation of complex flight processes can be realized by setting the flight action sequence of the simulation target;
[0032] Based on the atomic action library framework, it can provide expansion capabilities to support various simulation trajectory requirements.
[0033] Furthermore, the expansion capability includes:
[0034] The specific implementation of various flight actions refers to the corresponding motion model. According to the requirements of simulation accuracy, the motion model can be a simple model based on speed, direction, pitch, acceleration, or a complex model based on aerodynamics or UAV flight control principles;
[0035] According to the requirements of the complexity of actual simulated flight actions, secondary compound actions can be constructed based on the primary action classification; in the case of secondary action classification, different atomic actions can be integrated into the abstract class corresponding to the primary flight action type or the abstract class corresponding to the secondary flight action according to actual conditions.
[0036] The present invention also proposes a distributed large-scale aircraft flight data simulation generation method, based on the above-mentioned distributed large-scale aircraft flight data simulation generation system, comprising:
[0037] Step S1: Initialization: Initialize the target to be simulated by the system and the corresponding aircraft performance parameters;
[0038] Step S2: Establishing an action sequence; establishing a corresponding atomic flight action sequence for each flight target;
[0039] Step S3: Allocate simulation nodes; treat each simulation target as a simulation task and evenly allocate it to all simulation task nodes;
[0040] Step S4: executing the simulation process; under the instruction of the simulation process control, each simulation node sequentially executes the atomic action sequence corresponding to each simulation target, and continuously updates the flight status of the simulation target;
[0041] Step S5: Output the simulated flight track; according to the specified technical protocol, output cycle and output address, periodically encode and output the flight data of all simulated targets.
[0042] Furthermore, the step S4 comprises:
[0043] Step S401: Determine whether the simulation process is paused, if yes, proceed to step S402, otherwise proceed to step S403;
[0044] Step S402: according to the simulation data update frequency, wait for a period t, and return to step S401;
[0045] Step S403: Determine the time step T for simulation update, and calculate based on the basic time step t and the simulation speed speed:
[0046] T=t*speed
[0047] Step S404: Obtain all simulation task node data from the simulation target management module and add them to the node set to be updated, the number of which is N;
[0048] Step S405: select a simulation task node i and input the time step T;
[0049] Step S406: calling the update function of the simulation task node to drive the simulation task node to update the simulation motion state of the target;
[0050] Step S407: remove the simulation task node from the set to be updated, and add it to the set of results to be obtained;
[0051] Step S408: Determine whether the set to be updated is empty, if not, return to step S405 to drive the next simulation task node, if yes, proceed to step S409;
[0052] Step S409: Continue to wait for and receive the simulation results of the simulation task node, and enter step S410 after receiving the data;
[0053] Step S410: adding all target data of the simulation results to the target set to be output, and removing the task node of the returned result from the result set to be obtained;
[0054] Step S411: determine whether the result set to be obtained is empty, if so, proceed to step S412, otherwise, return to step S409;
[0055] Step S412: Push all updated target data to the simulation data output, and end this round of simulation data generation;
[0056] Step S413: determine whether the simulation data generation process is completed, if yes, then end the simulation, otherwise go to step S414;
[0057] Step S414: according to the simulation data update frequency, wait for the corresponding time interval and return to step S401 to perform the next round of update.
[0058] Furthermore, the step S5 comprises:
[0059] K represents the number of output cycle intervals, k represents the output cycle count, and the time corresponding to each output cycle interval with a count of 1 is the same as the simulation data update interval t. The processing flow of simulation data output is:
[0060] Step S501: receiving a target state data set pushed by a simulation process control module;
[0061] Step S502: the output cycle count k is increased by 1, if K=k, then go to step S503, otherwise go back to step S501;
[0062] Step S503: Obtain a target status data to be sent;
[0063] Step S504: Encode the target state data;
[0064] Step S505: Send the encoded data to the specified network address and port;
[0065] Step S506: Determine whether all target state data have been sent, if not, return to step S503 to encode and send the next target state data, if yes, proceed to step S507;
[0066] Step S507: Set the output cycle count K to 0, and return to step S501 to wait for the next push of data.
[0067] Compared with the prior art, the present invention has the following beneficial effects:
[0068] 1. The present invention can quickly adapt to the needs of generating simulation target data of different orders of magnitude by simply expanding or reducing the number of deployed distributed simulation task nodes.
[0069] 2. The present invention supports the generation of flight trajectory data for civil aviation, general aviation and unmanned aerial vehicles by expanding the atomic action library and constructing flight action sequences. It even supports the generation of motion trajectory simulation data for ground targets, surface targets and underwater targets through a customized atomic action library. There is no need to redesign the simulation data generation system or redevelop other modules outside the atomic action library.
[0070] 3. The present invention satisfies the requirements for generating simulation target data of different precisions by replacing the atomic action realization libraries of different precisions. There is no need to redesign the simulation data generation system or redevelop other modules except the atomic action library.
[0071] 4. The present invention realizes the generation of flight trajectory simulation data of different characteristics and complexity through different atomic action sequences, and does not need to design and implement complex special flight process simulation models. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Figure 1 A schematic diagram of the composition of a distributed large-scale aircraft flight data simulation generation system;
[0073] Figure 2 A flow chart of a method for generating distributed large-scale aircraft flight data simulation;
[0074] Figure 3 Execute the flow chart for the simulation;
[0075] Figure 4 It is an execution flow chart of a simulation task node;
[0076] Figure 5 An update flow chart for the simulation target;
[0077] Figure 6 Definition and implementation of the atomic action library. DETAILED DESCRIPTION
[0078] 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 such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0079] The features and performance of the present invention are further described in detail below in conjunction with the embodiments.
[0080] Embodiment 1
[0081] See also Figure 1-Figure 6, a distributed large-scale aircraft flight data simulation generation system, specifically including the following modules:
[0082] Simulation process control module, simulation target management module, simulation result output module, distributed simulation task node, atomic action library;
[0083] The simulation process control module is mainly used to execute the simulation process and control the state of the simulation, and provides functional interfaces and functional implementations for the start, end, pause, continue, simulation speed control, etc. of the simulation;
[0084] The simulation target management module is used to manage the simulation target information of the simulated flight target, and supports adding and deleting targets, setting and changing target flight actions, and allocating simulation targets to simulation nodes.
[0085] The simulation result output module periodically encodes and outputs the flight data of all simulation targets according to the specified technical protocol, output cycle and output address;
[0086] The distributed simulation task node executes the assigned target flight simulation task, realizes the target flight simulation through the atomic action library, and maintains the target simulation flight state;
[0087] The atomic action library provides a general flight action simulation interface, defines flight action classification and the implementation of different flight actions; each flight action outputs the target flight state data of the next cycle based on the flight state of the previous cycle and the aircraft performance parameters.
[0088] In this embodiment, specifically, the simulation target information includes:
[0089] Target number, aircraft performance, aircraft current status, aircraft flight maneuver sequence and aircraft current flight maneuver;
[0090] Specific:
[0091] (1) Target number: It is the unique identification code of the simulation target, used to distinguish different simulation targets. If necessary, an aircraft name similar to a flight number can be added.
[0092] (2) Aircraft performance: the flight performance of the aircraft corresponding to the simulation target, such as maximum flight speed, maximum climb speed, typical acceleration, etc.
[0093] (3) Current state of the aircraft: corresponds to the state of the simulation target in each simulation cycle, including position information (longitude lon, latitude lat, altitude alt), motion state (speed speed, heading head, vertical speed vspeed), etc.;
[0094] (4) Aircraft flight maneuver sequence: It consists of an ordered sequence of various flight maneuvers defined in the flight maneuver library;
[0095] (5) The current flight maneuver of the aircraft: a flight maneuver defined in the flight maneuver library, which may be empty initially;
[0096] All simulation targets are stored in key-value pairs with target numbers as indexes, and the addition and deletion of simulation targets are realized. At the same time, according to the allocation relationship between cached simulation targets and simulation task nodes, the corresponding simulation task nodes are notified to add and delete the corresponding simulation targets;
[0097] Specifically, the process of adding a simulation target is as follows:
[0098] (1) Obtain the target number. If the number does not exist, automatically assign a number to the new target according to the automatic numbering rule (such as using the current time as the number);
[0099] (2) Check whether the existing target number and the newly added target number are repeated. If they are repeated, prompt to modify the target number and end;
[0100] (3) storing the target in a simulation target set using the target number as an index;
[0101] (4) Obtain all simulation task nodes and count the number of simulation targets existing in each node;
[0102] (5) According to the principle of minimum number of simulation targets, newly added simulation targets are allocated to corresponding simulation task nodes;
[0103] (6) The allocation relationship between cache simulation task nodes and simulation targets.
[0104] Similarly, when deleting a target, the target is deleted from the simulation target set using the number as the index, and at the same time, according to the allocation relationship between the cached simulation targets and the simulation task nodes, the corresponding simulation task nodes are notified to delete the corresponding simulation targets.
[0105] The setting and change of target flight actions include adding subsequent simulation actions, adding immediate execution simulation actions, replacing current simulation actions, etc. All change operations are completed at the corresponding task nodes. The basic process in target management is:
[0106] (1) Get the target number of the action to be updated;
[0107] (2) According to the distribution relationship between the task node and the simulation target, the corresponding simulation task node is obtained;
[0108] (3) passing the target number and the new simulation action as parameters to the corresponding simulation task node, and notifying it of the type of current update, such as adding a subsequent simulation action, adding an immediate execution simulation action, replacing the current simulation action, etc.;
[0109] (4) Obtain the action update result (failure to connect to the task node, update success, update failure, etc.) and output the update result.
[0110] When simulating large-scale targets, it is difficult to manually set the initial simulation data for each target. The system should provide the ability to automatically generate large batches of targets based on factors such as the number of targets, aircraft performance range, and simulation area range. Therefore, in this embodiment, the simulation target management module also has a large batch target automatic generation function, and the general generation process is as follows:
[0111] (1) Set the number of generated targets, aircraft performance parameter range, simulation area range, etc.
[0112] (2) Generate a target number;
[0113] (3) Randomly generate target flight performance within the set aircraft performance range, including maximum flight speed, maximum climb speed, typical acceleration, etc.;
[0114] (4) Randomly generate the starting position coordinates and the ending position coordinates of the target within the simulation area;
[0115] (5) Using the starting position information (longitude lon, latitude lat, altitude alt) as the target initial state, initialize the motion state (speed speed, heading head, vertical speed vspeed) to 0;
[0116] (6) Randomly generate no more than 10 intermediate points between the starting point and the end point, and randomly calculate the height of each point within the specified height range;
[0117] (7) generating flight actions in sequence from the starting point to the end point according to the action of flying to the target position and adding them to the target flight action sequence;
[0118] (8) Randomly select 1-n (n is less than the number of intermediate passing points) non-position actions from the flight action library, initialize the action parameters, and randomly insert them into the flight action sequence;
[0119] (9) Cache target data in the simulation target management in the same way as adding new targets, and distribute them to the simulation task nodes;
[0120] (10) determining whether the target number of generated objects reaches the preset target number, if it reaches the preset target number, proceeding to step (11), otherwise returning to step (2) and repeating the above process;
[0121] (11) Output the automatic generation completion status and result status, and end the automatic generation of the target.
[0122] In this embodiment, specifically, the distributed simulation task node receives the simulation target data assigned by the simulation target management module or the updated simulation target data, and executes the data simulation of all targets according to the drive controlled by the simulation task and the atomic flight action sequence predetermined by the target, and transmits back the result of each simulation data update;
[0123] Each simulation task node maintains a simulation target set. When a new simulation target is assigned, the simulation target data is added to the simulation set. When a simulation target is deleted, the target number is used as the index to remove it from the simulation target set.
[0124] The simulation task node sets or updates the simulated flight action according to the driver execution of the simulation target management, including adding subsequent simulation actions, adding immediate execution simulation actions, and replacing current simulation actions.
[0125] In this embodiment, specifically, adding a subsequent simulation action is an action that is continued to be executed after all current simulation flight actions are completed, and the process is as follows:
[0126] (1) Get the target number of the action to be added;
[0127] (2) Using the serial number as an index, find the corresponding simulation target data;
[0128] (3) Obtaining a simulated flight action sequence from simulated target data;
[0129] (4) Add the new action to the end of the simulated flight action sequence;
[0130] (5) Returns the status of successful action update.
[0131] In this embodiment, specifically, adding an immediate execution simulation action is to use the newly added action as the current simulation action, and the original action being executed needs to continue to be executed after the newly added action is completed. The process is as follows:
[0132] (1) Get the target number of the action to be added;
[0133] (2) Using the serial number as an index, find the corresponding simulation target data;
[0134] (3) Obtain the currently executed action from the simulation target data. If it exists, proceed to step (4); otherwise, proceed to step (5);
[0135] (4) Obtaining a simulated flight action sequence from the simulated target data and adding the currently executed action to the first position of the sequence;
[0136] (5) taking the newly added action as the target and executing the simulation action currently;
[0137] (6) Returns the status of successful action update.
[0138] In this embodiment, specifically, replacing the current simulation action means abandoning the original action being executed and taking the newly added action as the current simulation action. The basic process is as follows:
[0139] (1) Get the target number of the action to be added;
[0140] (2) Using the serial number as an index, find the corresponding simulation target data;
[0141] (3) Obtain the currently executed action from the simulation target data;
[0142] (4) taking the newly added action as the target and executing the simulation action currently;
[0143] (5) Returns the status of successful action update.
[0144] In this embodiment, specifically, the simulation task node executes the target data simulation update of each cycle according to the driving of the simulation task control and returns the updated target state data. The basic process is as follows:
[0145] (1) Determine the time step T of the simulation process control incoming updates;
[0146] (2) Obtain all simulation target data of this task node;
[0147] (3) Select a simulation target i and enter the time step T;
[0148] (4) Call the simulation update of simulation target i to update the motion state of the target. If successful, proceed to step (5); otherwise, proceed to step (6);
[0149] (5) Copy the target's motion state data and store it in the data set to be transmitted back;
[0150] (6) Determine whether all targets are updated. If yes, go to step (7), otherwise return to step (3);
[0151] (7) All data to be sent back are sent back to the simulation process control, and the update of this node is ended.
[0152] The simulation update in step (4) of the above process updates the target state according to the current action and execution action sequence of each target. The basic process is as follows:
[0153] (1) Obtain the current atomic flight action of the target;
[0154] (2) If the action does not exist, go to step (3), otherwise go to step (5);
[0155] (3) Obtain the subsequent flight action sequence of the current target. If the sequence is not empty, proceed to step (4); otherwise, proceed to step (10);
[0156] (4) taking the first atomic action of the subsequent flight action sequence as the current atomic flight action and removing it from the sequence;
[0157] (5) Using the current flight dynamics and flight performance data as parameters, call the state update of the atomic flight action;
[0158] (6) Using the updated flight dynamics data as the target new flight dynamics data;
[0159] (7) Determine whether the current atomic action has been completed. If it has been completed, go to step (8); otherwise, go to step (9);
[0160] (8) Remove the current atomic action;
[0161] (9) Return the update success status and end the target update;
[0162] (10) Return the update failure status and end the target update.
[0163] According to the above process, the current atomic action is replaced or the atomic action to be executed immediately is set. If it is executed before the corresponding target obtains the current atomic action, it will take effect in this cycle. If it is executed after the corresponding target obtains the current atomic action, it will take effect in the next update cycle.
[0164] In this embodiment, specifically, after obtaining the target state data set pushed by the simulation process control module, the simulation result output module encodes the target state data according to a preset protocol and sends it to a specified network address; the data output needs to configure the output address IP and network port, as well as the corresponding output frequency. The simulation data update frequency 1 / t is an integer multiple of the output frequency, and the fastest is to output each simulation result.
[0165] In this embodiment, specifically, the atomic flight actions in the atomic action library are divided into six types: stunt type, time type, address type, distance type, status type, and message type;
[0166] 1) Stunt Class: The Stunt class is used to define the implementation of special flight actions, such as rollers, kurbits, hammerhead maneuvers, etc.
[0167] 2) Time category: Time category is used for flights based on time constraints, such as flying at a constant speed for X seconds, circling and waiting for X seconds, etc.;
[0168] 3) Address class: The address class is used for flight based on the target location, such as flying to point X at a constant speed;
[0169] 4) Distance class: Distance class is used for flights based on time constraints, such as uniform flight of X meters, accelerated flight of X meters, etc.
[0170] 5) State class: The state class is used for flight based on flight status, such as climbing to X meters, accelerating to X meters / second, etc.;
[0171] 6) Message class: The message class is used to simulate sending specific messages, such as landing application, abnormality report, etc., and can support simulation requirements for specific situations or information;
[0172] 1) All atomic actions define a unified interface to determine the function name and parameter type when calling the atomic action for update;
[0173] 2) Each type of atomic action implements a unified atomic action interface to establish an abstract class. The abstract class defines the key parameters and input methods required for this type of action, such as the duration parameter of time-type actions, the target address coordinate parameter of address-type actions, the distance parameter of distance-type actions, the target state value of state-type actions, the message content of message-type actions, etc. The abstract class does not implement the functions defined in the unified interface.
[0174] Each atomic action inherits the corresponding abstract class according to the type of action, and adds specific parameters required to implement the specific action; the atomic action implements the function defined in the unified interface, and realizes the update calculation of the target state according to the elements of the action and the simulation mathematical model;
[0175] After building the atomic action library, the simulation of complex flight processes can be realized by setting the flight action sequence of the simulation target; for example: climb to the specified height at a constant speed (state action), then accelerate to the specified speed (state action), then fly to the target address (address action), perform the specified aerobatic action (stunt action), send an action completion report (message action), and finally return to the departure point at a constant speed (address action), hover and wait for the specified time (time action) and vertically land to the ground height (state action);
[0176] Based on the atomic action library framework, it can provide expansion capabilities to support various simulation trajectory requirements.
[0177] In this embodiment, specifically, the expansion capability includes:
[0178] The specific implementation of various flight actions can refer to the corresponding motion model. According to the requirements of simulation accuracy, the motion model can be a simple model based on speed, direction, pitch, acceleration, or a complex model based on aerodynamics or UAV flight control principles;
[0179] According to the requirements of the complexity of actual simulated flight actions, secondary composite actions can be constructed based on the primary action classification, such as defining new state action time types based on time classes and state classes. Specific actions include: accelerating to fly for 60 seconds with a maximum speed of 100 m / s. In the case of secondary action classification, different atomic actions can be integrated into the abstract class corresponding to the primary flight action type or the abstract class corresponding to the secondary flight action according to actual conditions.
[0180] like Figure 2 As shown, the present invention also proposes a distributed large-scale aircraft flight data simulation generation method (the main process of the entire system operation), which specifically includes:
[0181] Step S1: Initialization: Initialize the target to be simulated by the system and the corresponding aircraft performance parameters;
[0182] Step S2: Establishing an action sequence; establishing a corresponding atomic flight action sequence for each flight target;
[0183] Step S3: Allocate simulation nodes; treat each simulation target as a simulation task and evenly allocate it to all simulation task nodes;
[0184] Step S4: executing the simulation process; under the instruction of the simulation process control, each simulation node sequentially executes the atomic action sequence corresponding to each simulation target, and continuously updates the flight status of the simulation target;
[0185] Step S5: Output the simulated flight track; according to the specified technical protocol, output cycle and output address, periodically encode and output the flight data of all simulated targets.
[0186] Furthermore, the step S4 comprises:
[0187] The update interval of simulation data is t, and the number of simulation data updates per second is 1 / t times;
[0188] Step S401: Determine whether the simulation process is paused, if yes, proceed to step S402, otherwise proceed to step S403;
[0189] Step S402: according to the simulation data update frequency, wait for a period t, and return to step S401;
[0190] Step S403: Determine the time step T for simulation update, and calculate based on the basic time step t and the simulation speed speed:
[0191] T=t*speed
[0192] Step S404: Obtain all simulation task node data from the simulation target management module and add them to the node set to be updated, the number of which is N;
[0193] Step S405: select a simulation task node i and input the time step T;
[0194] Step S406: calling the update function of the simulation task node to drive the simulation task node to update the simulation motion state of the target;
[0195] Step S407: remove the simulation task node from the set to be updated, and add it to the set of results to be obtained;
[0196] Step S408: Determine whether the set to be updated is empty, if not, return to step S405 to drive the next simulation task node, if yes, proceed to step S409;
[0197] Step S409: Continue to wait for and receive the simulation results of the simulation task node, and enter step S410 after receiving the data;
[0198] Step S410: adding all target data of the simulation results to the target set to be output, and removing the task node of the returned result from the result set to be obtained;
[0199] Step S411: determine whether the result set to be obtained is empty, if so, proceed to step S412, otherwise, return to step S409;
[0200] Step S412: Push all updated target data to the simulation data output, and end this round of simulation data generation;
[0201] Step S413: determine whether the simulation data generation process is completed, if yes, then end the simulation, otherwise go to step S414;
[0202] Step S414: according to the simulation data update frequency, wait for the corresponding time interval and return to step S401 to perform the next round of update;
[0203] According to the above process, after the current simulation is set to start, the simulation task control begins to continuously execute simulation and data output according to the task nodes in the simulation target management until the simulation status is set to end; after the simulation task is set to pause, the simulation task control will enter the pause state after executing the data update of the current cycle until the simulation task status is set to continue; the setting of the simulation speed will take effect in the next cycle of simulation.
[0204] In this embodiment, specifically, step S5 includes:
[0205] K represents the number of output cycle intervals, k represents the output cycle count, and the time corresponding to each output cycle interval with a count of 1 is the same as the simulation data update interval t. The processing flow of simulation data output is:
[0206] Step S501: receiving a target state data set pushed by a simulation process control module;
[0207] Step S502: the output cycle count k is increased by 1, if K=k, then go to step S503, otherwise go back to step S501;
[0208] Step S503: Obtain a target status data to be sent;
[0209] Step S504: Encode the target state data;
[0210] Step S505: Send the encoded data to the specified network address and port;
[0211] Step S506: Determine whether all target state data have been sent, if not, return to step S503 to encode and send the next target state data, if yes, proceed to step S507;
[0212] Step S507: Set the output cycle count K to 0, and return to step S501 to wait for the next push of data;
[0213] In the above process, if the encoding protocol of the data output supports encoding multiple targets in the data sent once, a group of target status data to be sent is obtained each time and the group of data is uniformly encoded and sent.
[0214] In this embodiment, it should also be noted that the hot-swap, load balancing, automatic restart and other technologies of the distributed system can be integrated on the distributed task nodes, respectively supporting the ability to dynamically adjust the number of simulation targets without stopping the system, improving the running stability of the distributed nodes and ensuring the continuity of the simulation process, etc., and replacing the distributed simulation scheme described in the present invention with a more complex distributed simulation system scheme, but the core capabilities achieved are essentially the same;
[0215] In this embodiment, it is also necessary to explain that, based on the atomic action library, the action classification can be redesigned or the implementation method of specific flight actions can be provided, which is essentially a continuation of the idea of atomic action combination, and the implementation of the expansion capability of the atomic action library in the present invention in specific scenarios is essentially still based on the combination of atomic action sequences to achieve complex flight trajectory simulation.
[0216] The above-mentioned embodiments only express the specific implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the protection scope of the present application. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the technical solution concept of the present application, and these all belong to the protection scope of the present application.
[0217] 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 this section that did not constitute prior art at the time of application are neither explicitly nor implicitly admitted to be prior art to the present invention.
Claims
1. A distributed large-scale aircraft flight data simulation generation system, characterized in that: include: Simulation process control module, simulation target management module, simulation result output module, distributed simulation task node, atomic action library; The simulation process control module is used to execute the simulation process and control the state of the simulation, and provide a functional interface and function implementation for the simulation; The simulation target management module is used to manage the simulation target information of the simulated flight target, and supports the addition and deletion of targets, the setting and change of target flight actions, and the allocation of simulation targets to simulation nodes; The simulation result output module periodically encodes and outputs the flight data of all simulation targets according to the specified technical protocol, output cycle and output address; The distributed simulation task node executes the assigned target flight simulation task, realizes the target flight simulation through the atomic action library, and maintains the target simulation flight state; The atomic action library provides a general flight action simulation interface, defines flight action classification and the implementation of different flight actions; each flight action outputs the target flight state data of the next cycle based on the flight state of the previous cycle and the aircraft performance parameters.
2. A distributed large-scale aircraft flight data simulation generation system according to claim 1, characterized in that: The simulation target information includes: Target number, aircraft performance, aircraft current status, aircraft flight maneuver sequence and aircraft current flight maneuver; All simulation targets are stored in key-value pairs with the target number as the index, and the addition and deletion of simulation targets are realized. At the same time, according to the allocation relationship between the cached simulation targets and the simulation task nodes, the corresponding simulation task nodes are notified to add and delete the corresponding simulation targets.
3. A distributed large-scale aircraft flight data simulation generation system according to claim 2, characterized in that: The simulation target management module also has a function of automatically generating large quantities of targets.
4. A distributed large-scale aircraft flight data simulation generation system according to claim 3, characterized in that: The distributed simulation task node receives the simulation target data assigned by the simulation target management module or the updated simulation target data, and executes the data simulation of all targets according to the drive controlled by the simulation task and the atomic flight action sequence predetermined by the target, and transmits back the result of each simulation data update; Each simulation task node maintains a simulation target set. When a new simulation target is assigned, the simulation target data is added to the simulation set. When a simulation target is deleted, the target number is used as the index to remove it from the simulation target set. The simulation task node sets or updates the simulated flight action according to the driver execution of the simulation target management, including adding subsequent simulation actions, adding immediate execution simulation actions, and replacing current simulation actions.
5. A distributed large-scale aircraft flight data simulation generation system according to claim 4, characterized in that: After acquiring the target state data set pushed by the simulation process control module, the simulation result output module encodes the target state data according to a preset protocol and sends it to a specified network address; Data output requires configuration of the output address IP and network port, as well as the corresponding output frequency. The simulation data update frequency 1 / t is an integer multiple of the output frequency, and the fastest is to output each simulation result.
6. A distributed large-scale aircraft flight data simulation generation system according to claim 5, characterized in that: The atomic action library divides atomic flight actions into six types: stunt, time, address, distance, status, and message. All atomic actions define a unified interface to determine the function name and parameter type when calling atomic actions for updates; Each type of atomic action implements a unified atomic action interface to establish an abstract class, which defines the key parameters and input methods required for this type of action; Each atomic action inherits the corresponding abstract class according to the type of action, and adds specific parameters required to implement the specific action; the atomic action implements the function defined in the unified interface, and realizes the update calculation of the target state according to the elements of the action and the simulation mathematical model; After building the atomic action library, the simulation of complex flight processes can be realized by setting the flight action sequence of the simulation target; Based on the atomic action library framework, it can provide expansion capabilities to support various simulation trajectory requirements.
7. A distributed large-scale aircraft flight data simulation generation system according to claim 6, characterized in that: The expansion capabilities include: The specific implementation of various flight actions refers to the corresponding motion model. According to the requirements of simulation accuracy, the motion model can be a simple model based on speed, direction, pitch, acceleration, or a complex model based on aerodynamics or UAV flight control principles; According to the requirements of the complexity of actual simulated flight actions, secondary composite actions can be constructed based on the primary action classification; in the case of secondary action classification, different atomic actions can be integrated into the abstract class corresponding to the primary flight action type or the abstract class corresponding to the secondary flight action according to actual conditions.
8. A distributed large-scale aircraft flight data simulation generation method, characterized in that: A distributed large-scale aircraft flight data simulation generation system based on any one of claims 1 to 7, comprising: Step S1: Initialization: Initialize the target to be simulated by the system and the corresponding aircraft performance parameters; Step S2: Establishing an action sequence; establishing a corresponding atomic flight action sequence for each flight target; Step S3: Allocate simulation nodes; treat each simulation target as a simulation task and evenly allocate it to all simulation task nodes; Step S4: executing the simulation process; under the instruction of the simulation process control, each simulation node sequentially executes the atomic action sequence corresponding to each simulation target, and continuously updates the flight status of the simulation target; Step S5: Output the simulated flight track; according to the specified technical protocol, output cycle and output address, periodically encode and output the flight data of all simulated targets.
9. A distributed large-scale aircraft flight data simulation generation method according to claim 8, characterized in that: The step S4 comprises: Step S401: Determine whether the simulation process is paused, if yes, proceed to step S402, otherwise proceed to step S403; Step S402: according to the simulation data update frequency, wait for a period t, and return to step S401; Step S403: Determine the time step T for simulation update, and calculate based on the basic time step t and the simulation speed speed: T=t*speed Step S404: Obtain all simulation task node data from the simulation target management module and add them to the node set to be updated, the number of which is N; Step S405: select a simulation task node i and input the time step T; Step S406: calling the update function of the simulation task node to drive the simulation task node to update the simulation motion state of the target; Step S407: remove the simulation task node from the set to be updated, and add it to the set of results to be obtained; Step S408: Determine whether the set to be updated is empty, if not, return to step S405 to drive the next simulation task node, if yes, proceed to step S409; Step S409: Continue to wait for and receive the simulation results of the simulation task node, and enter step S410 after receiving the data; Step S410: adding all target data of the simulation results to the target set to be output, and removing the task node of the returned result from the result set to be obtained; Step S411: determine whether the result set to be obtained is empty, if so, proceed to step S412, otherwise, return to step S409; Step S412: Push all updated target data to the simulation data output, and end this round of simulation data generation; Step S413: determine whether the simulation data generation process is completed, if yes, then end the simulation, otherwise go to step S414; Step S414: according to the simulation data update frequency, wait for the corresponding time interval and return to step S401 to perform the next round of update.
10. A distributed large-scale aircraft flight data simulation generation method according to claim 9, characterized in that: The step S5 comprises: K represents the number of output cycle intervals, k represents the output cycle count, and the time corresponding to each output cycle interval with a count of 1 is the same as the simulation data update interval t. The processing flow of simulation data output is: Step S501: receiving a target state data set pushed by a simulation process control module; Step S502: the output cycle count k is increased by 1, if K=k, then go to step S503, otherwise go back to step S501; Step S503: Obtain a target status data to be sent; Step S504: Encode the target state data; Step S505: Send the encoded data to the specified network address and port; Step S506: Determine whether all target state data have been sent, if not, return to step S503 to encode and send the next target state data, if yes, proceed to step S507; Step S507: Set the output cycle count K to 0, and return to step S501 to wait for the next push of data.