Omnet++ based simulation system and method for giant constellation
By introducing a dynamic weighting algorithm and a working mode adjustment module into the OMNeT++ simulation system, the problems of single path planning and fixed module functions in the existing technology are solved. Dynamic adjustment of path planning and flexible handling of protocols are realized, which improves the accuracy of path planning and task execution efficiency, enhances the system's flexibility and the stability of protocol interaction, and meets the needs of the Giant Star constellation simulation.
Patent Information
- Application Number
- CN202510794672.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-14
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2045-06-14
AI Technical Summary
In existing technologies, OMNeT-based simulation software for satellite communication technology suffers from several drawbacks. These include a single path planning algorithm that cannot adapt to complex and ever-changing network environments, rigid module functions lacking dynamic adjustment capabilities, difficulty in handling diverse task requirements, and simplistic protocol simulations that fail to adequately consider complex interactions and anomaly handling during protocol execution.
A dynamic weighting algorithm is used to construct a path dynamic weighting model. Combined with the working mode adjustment module and the protocol simulation module, the path planning is dynamically adjusted and the protocol is flexibly processed. The optimal planned path of the satellite is generated through the dynamic weighting algorithm, the system operation status is monitored in real time, the working mode is adjusted according to the label information, and various protocol messages are processed to complete the satellite orbit operation simulation.
Improve the accuracy of path planning and the efficiency of task execution, enhance the flexibility of the system and the stability of protocol interaction, meet the requirements of the Giants constellation simulation, and achieve smooth simulation of tens of thousands of satellites.
Smart Images

Figure CN120671397B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of spacecraft simulation, and in particular to a giant constellation simulation system and method based on OMNeT++. BACKGROUND
[0002] With the rapid development of satellite communication technology, giant constellation simulation software plays a key role in verifying satellite network performance, protocol optimization, etc. Currently, satellite collision warning, space-ground integrated network construction, etc. have higher requirements for the real-time performance, accuracy and scalability of the simulation software.
[0003] In the prior art, the simulation scheme based on OMNeT++ can simulate and implement the basic functions of satellites, ground stations and other modules. For example, the planning center module uses the Dijkstra algorithm for shortest path planning, and calculates the shortest path between nodes to provide path planning basis for data transmission or task scheduling in the system. Each module identifies and processes the corresponding specific function according to the pre-set fixed message label (label).
[0004] However, the prior art has obvious limitations: the shortest path algorithm is single, and does not consider dynamic factors such as satellite energy, load, link delay, etc., and cannot adapt to complex and variable network environments; the module function is fixed, and the working mode is determined by the fixed label, lacking dynamic adjustment capability, and difficult to meet diversified task requirements; the protocol simulation is simple, and the simulation of authentication protocols, switching protocols, etc. is relatively basic, and the complex interaction and exception handling in the protocol execution process are not fully considered. SUMMARY
[0005] The embodiment of the present application provides a giant constellation simulation system and method based on OMNeT++, which can solve the problem of insufficient efficiency and accuracy in the development of giant constellation simulation software in the related art.
[0006] To achieve the above-mentioned purpose, the technical scheme adopted by the present application is as follows:
[0007] In a first aspect, a giant constellation simulation system based on OMNeT++ is provided, comprising:
[0008] A path planning module is configured to use a dynamic weight algorithm to construct a dynamic weight model to obtain path dynamic weights, and to generate an optimal planning path for a satellite according to the path dynamic weights.
[0009] A working mode adjustment module is configured to monitor the system running state in real time, to confirm a target working mode according to the label information of each module in the system, and to send an adjustment signal for adjusting the target working mode to each module in the system.
[0010] A protocol simulation module is configured to transmit simulation result data to the simulation function implementation module after processing various protocol messages in the handleMessage function.
[0011] The simulation function implementation module is configured to complete orbit operation simulation of the satellite according to the optimal planning path, the adjustment signal and the simulation result data.
[0012] In a second aspect, a super constellation simulation method based on OMNeT++ is provided, and the method comprises the following steps:
[0013] A dynamic weight algorithm is used to construct a dynamic weight model to obtain path dynamic weights, and the optimal planning path of the satellite is generated according to the path dynamic weights.
[0014] The system operation state is monitored in real time, the target working mode is confirmed according to label information of each module in the system, and an adjustment signal for adjusting the target working mode is sent to each module in the system.
[0015] After processing various protocol messages in the handleMessage function, the simulation result data is transmitted to the simulation function implementation module.
[0016] The orbit operation simulation of the satellite is completed according to the optimal planning path, the adjustment signal and the simulation result data.
[0017] In a third aspect, an electronic device is provided, and the device comprises:
[0018] One or more processors;
[0019] A storage device configured to store one or more programs;
[0020] When the one or more programs are executed by the one or more processors, the one or more processors implement the method of the second aspect.
[0021] In a fourth aspect, a computer program product is provided, and the product comprises a computer program or instructions, which, when running on a computer, cause the computer to execute the method of the second aspect.
[0022] The present application has the following beneficial effects:
[0023] 1) The path planning is more suitable for the actual network environment by the dynamic weight and the multi-objective optimization mechanism, and the path planning accuracy and the task execution efficiency are improved.
[0024] 2) The label-based working mode switching and expansion mechanism facilitates quick adjustment and addition of system functions, and enhances the flexibility of the system:
[0025] 3) Protocol state management and exception handling mechanism to ensure the stability and reliability of the protocol interaction.
[0026] 4) The distributed integration module realizes the smooth simulation of ten thousand satellites, meeting the needs of mega constellation simulation. BRIEF DESCRIPTION OF DRAWINGS
[0027] Figure 1 A block diagram of a mega constellation simulation system based on OMNeT++ is schematically shown.
[0028] Figure 2 A flowchart of the TR-AKA protocol implementation is schematically shown.
[0029] Figure 3 A flowchart of the MRSA handover protocol is schematically shown.
[0030] Figure 4 A step diagram of a mega constellation simulation method based on OMNeT++ is schematically shown.
[0031] Figure 5 A block diagram of an electronic device is schematically shown.
[0032] Figure 6 A block diagram of a computer readable medium is schematically shown. DETAILED DESCRIPTION
[0033] Example embodiments now will be described more fully hereinafter with reference to the accompanying drawings. Example embodiments, however, can be implemented in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of example embodiments to those skilled in the art. Like reference numerals refer to like elements throughout the several views.
[0034] Moreover, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the application can be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, devices, implementations, and operations have not been shown or described in detail to avoid obscuring aspects of the application.
[0035] The block diagrams shown in the accompanying drawings merely illustrate functional entities, which do not necessarily have to correspond to physically independent entities. That is, the functional entities can be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0036] The flowcharts shown in the drawings are only illustrative and do not necessarily include all the contents and operations / steps, nor are they necessarily executed in the order described. For example, some operations / steps can be further divided, and some operations / steps can be combined or partially combined, so the actual execution order can be changed according to actual conditions.
[0037] It should be understood that although the terms first, second, third, etc. can be used herein to describe various components, these components should not be limited by these terms. These terms are used to distinguish one component from another component. Therefore, the first component discussed below can be referred to as the second component without departing from the teachings of the present application concepts. As used herein, the term "and / or" includes all combinations of any one and one or more of the associated listed items.
[0038] Those skilled in the art can understand that the modules or flows in the drawings are not necessarily required for implementing the present application, and therefore cannot be used to limit the protection scope of the present application.
[0039] The technical terms related to the embodiments of the present application are introduced below.
[0040] 1. OMNeT++: A discrete-event-based network simulation tool widely used for simulation of communication networks and distributed systems.
[0041] 2. Dijkstra's algorithm: A classic shortest path algorithm used to find the shortest path from one node to all other nodes in a graph.
[0042] 3. A-Star algorithm: A heuristic search algorithm that combines the safety of Dijkstra's algorithm and the efficiency of the greedy algorithm to quickly find the optimal path.
[0043] 4. TR-AKA protocol: An authentication and key agreement protocol between terminal devices and networks.
[0044] 5. MRSA protocol: A mobility management and handover protocol for satellite networks.
[0045] 6. Integrated space-ground network: A communication network that combines ground networks and satellite networks to achieve global coverage.
[0046] 7. Distributed simulation: A simulation of large-scale systems through the cooperative work of multiple computers, improving simulation efficiency and scalability.
[0047] According to the first specific embodiment of the present application, as Figure 1As shown, the present application provides an OMNeT++ based giant constellation simulation system 100, comprising:
[0048] A path planning module 110, configured to adopt a dynamic weight algorithm, construct a dynamic weight model to obtain path dynamic weights, and generate an optimal planning path of the satellite according to the path dynamic weights.
[0049] A working mode adjustment module 120, configured to monitor a system running state in real time, confirm a target working mode according to label information of each module in the system, and send an adjustment signal for adjusting to the target working mode to each module in the system.
[0050] A protocol simulation module 130, configured to transmit simulation result data to the simulation function implementation module after processing various protocol messages in the handleMessage function.
[0051] A simulation function implementation module 140, configured to complete orbit running simulation of the satellite according to the optimal planning path, the adjustment signal, and the simulation result data.
[0052] The path planning module 110 generates path data according to real-time environmental factors, transmits the path data to the simulation function implementation module 140, and provides path guidance for satellite simulation running; the working mode adjustment module 120 dynamically adjusts working modes of itself and other modules according to a system running state and task requirements, and adjustment instructions are synchronously sent to the protocol simulation module 130 and the simulation function implementation module 140; the protocol simulation module 130 transmits simulation result data to the simulation function implementation module 140 after processing various protocol messages, to support authenticity of a simulation scene; the simulation function implementation module 140 integrates path data of the path planning module, mode instructions of the working mode adjustment module 120, and simulation result data of the protocol simulation module 130, completes efficient simulation of ten-thousand-level satellites, transmits simulation process data to a data display module for visual presentation, and forms a complete data closed loop.
[0053] Further, the path planning module 110 can include a data acquisition sub-module, a dynamic weight model sub-module, a calculation sub-module, and a confirmation sub-module.
[0054] The data acquisition sub-module is configured to acquire, in real time, an energy consumption rate of the satellite , a current task load , a link delay time , and position coordinates of the satellite in a space coordinate system , target point position coordinates .
[0055] The dynamic weighting model submodule is used to calculate energy consumption weight, task load weight, and link latency weight based on the data collected by the data acquisition module. The calculation process for each weight in the dynamic weighting model submodule is as follows:
[0056] 1) Energy consumption weighting calculation: based on the satellite's energy consumption rate Set energy consumption weighting coefficient Through formula (in The energy consumption weight is calculated by taking the maximum value of the satellite's energy consumption rate as an example. This weight reflects the degree of influence of energy consumption factors in path planning.
[0057] 2) Task load weight calculation: based on the current task load. Determine the task load weighting coefficient Using formula ( The task load weight is calculated based on the maximum task load value. This weight reflects the effect of task load on path selection.
[0058] 3) Link delay weight calculation: based on link delay time To obtain the link delay weight coefficient ,pass ( The link delay weight is calculated based on the maximum link delay time and is used to measure the importance of link delay in path planning.
[0059] The calculation submodule is used to calculate the actual cost, the heuristic estimated cost, and the total estimated cost using Manhattan distance combined with dynamic weights, based on the calculation results of the dynamic weight model module and the data collected by the data acquisition module.
[0060] Specifically, the calculation submodule calculates the actual cost. The process includes: assuming node n is a certain position of the satellite in the path planning; starting from the starting point (the node corresponding to the satellite's position at the initial moment), during the movement to node n, the actual cost is calculated based on the actual path traversed and the weights of each segment of the path. For example, if the path from the starting point to node n involves k paths, the weight of the i-th path is... The path length is ,but , ,in As a weight for energy consumption, As the task load weight, Let be the link delay weight, and α, β, and γ be the weight coefficients. .
[0061] The calculation submodule calculates the heuristic estimation cost The process includes: using Manhattan distance combined with dynamic weight to calculate the heuristic estimation cost , the coordinates of node n are known , and the target point coordinates are , and the dynamic weight is considered. First, the Manhattan distance is calculated, and then the dynamic weight is combined to obtain .
[0062] The calculation submodule calculates the total estimation cost The process includes: the total estimation cost from the starting point to the end point through node n is , and each time the node with the smallest is selected as the current optimal node for expansion, and the adjacent nodes of and are updated, until the end point end is expanded, at which time the of the path is the optimal solution. Since the entire process is based on the principle of selecting the node with the smallest for expansion, this path is the optimal path of the satellite determined by the confirmation submodule under the current algorithm rule.
[0063] Further, the working mode adjustment module 120 can include a path weight real-time adjustment submodule, a label monitoring submodule, a working mode confirmation submodule, and an adjustment signal sending submodule.
[0064] The path weight real-time adjustment submodule is used to dynamically adjust the path weight by monitoring the state change events of the satellite and the ground station, and the adjustment signal sending submodule feeds back the dynamically adjusted path weight to the path planning module 120 to enable the path planning module 120 to update the path weight.
[0065] Specifically, the path weight real-time adjustment submodule updates the path weight in real time by monitoring the state change events of the satellite and the ground station, and dynamically adjusts the path planning weight which changes with time t, and is updated by real-time events. The calculation formula of the dynamic weight model is . Wherein, and are the basic weight and the adjustment coefficient, and , is a weight offset calculated according to real-time events, and BaseWeight(i) represents a basic weight. Through this model, the weight of each target in path planning can be dynamically adjusted according to the real-time state of the satellite and the ground station, such as energy consumption, link delay, etc. When the satellite link delay increases, the “delay target weight” can be reduced through the model, so that the path planning is more in line with the actual situation; when the ground station load is too high, the “energy consumption weight” of the region is increased to prompt the satellite to select a low-energy-consumption path to reduce the burden of the ground station; when the weather is bad, the “path reliability weight” is increased to prioritize the stability of the communication path.
[0066] The label monitoring submodule is used to continuously monitor the label information of each module in the system. The label information at least includes the function identification information, task priority information and running state information of each module. Specifically, the label monitoring submodule continuously monitors the label information of each module in the system. The label contains the function identification of the module, such as the communication and remote sensing functions of the satellite module; the label also contains the task priority of the module, which is divided into ordinary, important and urgent; and the label also contains the running state of the module, such as normal, fault warning, maintenance, etc.
[0067] The working mode confirmation submodule is used to confirm the target working mode required by the current system according to the label information. The working mode at least includes an efficient and energy-saving mode and a high-precision processing mode. Specifically, when the system load is high, such as when the task priority of multiple modules is urgent and the resource occupation rate exceeds the threshold, the working mode confirmation submodule confirms that the efficient and energy-saving mode should be switched to; when performing a high-precision task, such as when the satellite performs a high-precision remote sensing task and the related module is in good running state, the working mode confirmation submodule determines to switch to the high-precision processing mode. The working mode confirmation submodule accurately determines the required working mode of the current system through in-depth analysis of the label information.
[0068] The adjustment signal sending submodule is used to send an adjustment signal for adjusting the target working mode to each module in the corresponding system according to the target working mode confirmed by the working mode confirmation submodule. Specifically, after the working mode confirmation submodule determines the working mode, the adjustment signal sending submodule sends the adjustment signal to itself and other related modules. Each module adjusts parameters and switches functions according to the adjustment signal. In the efficient and energy-saving mode, the satellite module reduces the transmission power and reduces non-critical operations; the ground station module optimizes the data processing process and reduces resource consumption; and the data center module adjusts the storage strategy to reduce energy consumption. Through the collaborative response of each module, the dynamic adjustment of the system working mode is realized, and the overall performance and adaptability of the system are improved.
[0069] Further, the protocol simulation module 130 can include a message classification submodule and a protocol processing submodule. The message classification submodule is configured to classify messages according to labels of the messages in the handleMessage function, including initialization messages, task request messages, data transmission messages, and protocol interaction messages. The protocol processing submodule is configured to implement state machine management of the TR-AKA protocol and the MRSA protocol in the handleMessage function, track each stage of protocol execution, and ensure correct interaction of the protocols.
[0070] Specifically, for processing of the TR-AKA protocol, refer to Figure 2 , Figure 2 A flowchart of implementation of the TR-AKA protocol is shown schematically. As shown in Figure 2 , the TR-AKA protocol includes two modules, UE and SN, which are distributed on the ground station module and the satellite module, respectively. The modules interact with each other through the sha256 algorithm.
[0071] The sending stage of the UE module: a random number r and parameters a, b, k, and SUPI are subjected to an exclusive or operation to obtain y, and then y is subjected to a sha256 algorithm operation to obtain z and h. The calculated a, b, y, z, and h are stored in the M array, and M is sent to the SN. It is determined whether use is equal to true. If yes, SQN+1 is assigned to SQN, false is assigned to use, and the UE waits to receive a message sent by the SN.
[0072] The receiving stage of the UE module: data M1 sent by the SN is received, and a sha256 algorithm operation is performed on data in M1 to obtain a1, b1, SQN1, K1, and INS. It is determined whether the first data of M1 is equal to INS. If yes, use is assigned to true.
[0073] The receiving stage of the SN module: data M sent by the UE is received, and a sha256 algorithm operation is performed on data in M to obtain r and SUPI. Then, a sha256 algorithm operation is performed again on SUPI, r, and k to obtain r1, SQN1, and h. It is determined whether h is equal to the fifth data in M and whether SQN1 is equal to SQN. If both conditions are met, SQN1+1 is assigned to SQN.
[0074] The sending stage of the SN module: a random number r1 is set, a sha256 algorithm operation is performed on r1 and skn, and an exclusive or operation is performed on SUPI to obtain a1. An exclusive or operation is performed on a1, skn, and r1 to obtain b1. A sha256 algorithm operation is performed on the above data to obtain c, d, e, k1, and INS. The data is stored in M1, and M1 is sent to the UE.
[0075] For the processing of the MRSA protocol, please refer to Figure 3 , Figure 3 A flowchart of the MRSA handover protocol is schematically shown. As Figure 3 indicated, the MRSA protocol is divided into four modules of UE, S-gNB, T-gNB and AMF, the UE is distributed on the ground station module, the S-gNB and T-gNB are distributed on the satellite module, and the AMF is distributed on the amf module. The modules interact with each other through the AES algorithm. Please continue to refer to Figure 3 , the flow of the MRSA handover protocol includes the following steps:
[0076] (I) The working process of the UE module:
[0077] 1) Sending process:
[0078] According to the newly generated random mask mask1 and mask2, in combination with the parameters of KAMF (AMF key), KgNB, NCC, etc., the UE performs the following steps: using the AES encryption algorithm, mask1 and mask2 are encrypted with KAMF to generate a temporary key K_temp. Take KgNB and NCC as input, combine K_temp to perform AES encryption, generate new security parameters Auth_token and Seq_num (sequence number) to identify the security in the handover process. The generated mask1, mask2, Auth_token, Seq_num and the identifier of the UE (such as SUPI or temporary identifier GUTI) are encapsulated into the message M_UE. Through the ground station module, M_UE is sent to the current serving satellite (S-gNB) to initiate a handover request or notify the need for handover. Determine whether to update NCC or other security parameters, if necessary, assign NCC+1 to NCC, and mark it as a state to be confirmed by the AMF, and wait for the response of S-gNB or AMF.
[0079] 2) Receiving process:
[0080] When the UE receives the handover confirmation message M_SgNB or M_TgNB from the S-gNB or T-gNB: parse the Auth_token and Seq_num in the message, use the locally stored KAMF and KgNB to verify the integrity and legality of the message through AES decryption. If the verification is passed, update the local security context (such as KgNB or NCC), and complete the connection establishment with the target satellite (T-gNB). If the verification fails, the UE reinitiates the handover request or notifies the AMF to reauthenticate.
[0081] (II) The working process of the S-gNB module:
[0082] 1) Sending process:
[0083] S-gNB upon receiving the handover confirmation from AMF: encrypts KgNB and NCC using AES algorithm, generates new security parameters K_TgNB (target satellite key) and NCC_new, ensuring security during the handover process. Encapsulates K_TgNB, NCC_new, and the UE's identity into the message M_Forward, and sends it to the target satellite T-gNB through inter-satellite communication. Notifies the UE of the handover target and sends the M_SgNB message, containing the identity of the handover target T-gNB and the new security parameters.
[0084] 2) Receive process:
[0085] When S-gNB (source satellite) receives M_UE sent by UE: parses mask1, mask2, Auth_token, and Seq_num in the message, extracts the UE's identity and security parameters. Uses locally stored KgNB and KAMF (provided by AMF) for AES decryption, verifies the validity of Auth_token and Seq_num. If verified, S-gNB determines whether a handover is needed (e.g., UE signal strength decreases or target satellite T-gNB signal is better). If a handover is needed, S-gNB generates a handover request message M_Switch, containing the UE's identity, current KgNB, NCC, and the identity of the target T-gNB, and sends it to AMF. If the verification fails, S-gNB sends an error response to the UE, prompting to re-initiate the request.
[0086] (Three) Workflow for T-gNB module:
[0087] 1) Send process:
[0088] T-gNB upon completion of handover: uses AES encryption algorithm to ensure secure transmission of K_TgNB and NCC_new, and generates the final authentication parameters Final_Auth. Encapsulates Final_Auth, resource allocation information, and the identity of T-gNB into M_TgNB, and sends it to UE, completing the handover process. At the same time, update the local database to record the UE's connection status and security context.
[0089] 2) Receive process:
[0090] When T-gNB (target satellite) receives M_Forward sent by S-gNB: parse K_TgNB, NCC_new and UE identifier in the message, use locally stored KAMF to perform AES decryption verification. If the verification is passed, the T-gNB allocates radio resources for the UE, generates a handover confirmation message M_TgNB containing K_TgNB, NCC_new and resource allocation information. Send M_TgNB to the UE (forwarded through the ground station), and notify the AMF that the handover is completed. If the verification fails, the T-gNB sends an error response to the S-gNB, requesting to re-initiate the handover.
[0091] (Four) The workflow of the AMF module:
[0092] 1) Sending process:
[0093] Send a message to T-gNB: After the AMF processes the message received from T-gNB, calculates, etc., it sends the processed message to T-gNB, i.e. P2=[m2], to assist T-gNB to complete the handover process. Session establishment and follow-up: After the session is established, the AMF sends the processed message P6=[p] to the UE to prompt the UE to perform subsequent handover success operations and update relevant parameters. At the same time, the AMF itself will also update the NCC and information.
[0094] 2) Receiving process:
[0095] When the AMF receives a handover request sent by S-gNB or T-gNB: parse the UE identifier, KgNB and NCC in the message, use the locally stored KAMF to verify the legality of the request through AES decryption. If the verification is passed, the AMF generates new security parameters (such as updating KAMF or KgNB), and calculates the new NCC and Auth_token. Encapsulate the new security parameters and handover confirmation information into M_AMF, and send them to S-gNB and T-gNB respectively to ensure the security of the handover process. If the verification fails, the AMF sends an error response to notify S-gNB or T-gNB to re-initiate the request.
[0096] It should be noted that for abnormal handling in the protocol processing process: the protocol processing submodule can add an exception detection and recovery mechanism in the message processing process to handle message loss, verification failure and other abnormal situations, and improve the reliability of the system.
[0097] Further, the simulation function implementation module 140 includes a calculation simulation submodule, a data display submodule, and a distributed integration submodule.
[0098] The computational simulation submodule is used to simulate the satellite orbit operation of a constellation based on OMNeT++. Specifically, it simulates the orbit operation of tens of thousands of satellites using OMNeT++, supporting dynamic adjustment of constellation parameters and constellation library management; it provides real-time statistics on parameters such as the position, orbit, and mission payload of satellites, ground stations, and users, and supports simulation of communication, navigation, and remote sensing payloads; it simulates the operation of authentication protocols, handover protocols, data transmission protocols, and routing protocols, supporting dynamic configuration and expansion of protocols; and it provides simulation support for user mission cases such as communication missions, navigation missions, and remote sensing missions.
[0099] The data visualization submodule uses OsgEarth to visually represent the simulation results of the computational simulation submodule. Specifically, the data visualization submodule uses OsgEarth to visualize the orbital motion of the Giants constellation, supporting the display and hiding of nodes and links; displaying node information and user task information in the form of drawers, taskbars, status lists, etc.; and implementing management functions for constellation libraries, payloads, nodes, and other content.
[0100] The distributed integration submodule utilizes OMNeT++'s distributed simulation capabilities, combined with multi-machine cluster technology, to assist the computational simulation submodule in simulating the satellite orbital operation of the constellation. Specifically, the distributed integration submodule leverages OMNeT++'s distributed simulation capabilities, combined with multi-machine cluster technology, to achieve smooth simulation of constellations with tens of thousands of satellites; and improves the efficiency and performance of distributed simulation through techniques such as task partitioning and load balancing.
[0101] In summary, the path planning module generates path data based on real-time environmental factors and transmits it to the simulation function implementation module to provide path guidance for satellite simulation operations. The working mode adjustment module dynamically adjusts its own and other modules' working modes based on system operating status and mission requirements through labels, and its adjustment instructions are synchronously sent to the protocol simulation module and the simulation function implementation module. After processing various protocol messages, the protocol simulation module transmits the simulation result data to the simulation function implementation module to support the realism of the simulation scenario. The simulation function implementation module integrates the path data from the path planning module, the mode instructions from the working mode adjustment module, and the simulation result data from the protocol simulation module to complete the efficient simulation of tens of thousands of satellites, and transmits the simulation process data to the data display module for visualization, forming a complete data closed loop.
[0102] When the system is started, the path planning module first collects multi-factor data in the environment, and calculates an optimal path by using a shortest path algorithm; the working mode adjustment module monitors the system running state in real time, judges whether the working mode needs to be adjusted according to the label, and sends an adjustment signal to other modules; after receiving a message, the protocol simulation module accurately simulates and reliably executes by using an optimized handleMessage function; the simulation function implementation module combines the data of the path planning, the working mode and the protocol simulation, and completes calculation simulation, data display and distributed integration, so that the modules cooperate with each other, and efficient simulation of ten thousand satellites is realized.
[0103] According to the second specific embodiment of the present application, the present application provides a method for mega constellation simulation based on OMNeT++, and the mega constellation simulation system 100 based on OMNeT++ of the first specific embodiment can realize the method of the second specific embodiment, as shown in Figure 4 The method for mega constellation simulation based on OMNeT++ includes the following steps:
[0104] In step S11, a dynamic weight algorithm is used to construct a dynamic weight model to obtain path dynamic weights, and an optimal planning path of a satellite is generated according to the path dynamic weights;
[0105] In step S12, the system running state is monitored in real time, the target working mode is confirmed according to the label information of each module in the system, and an adjustment signal for adjusting the target working mode is sent to each module in the system;
[0106] In step S13, after processing various protocol messages in the handleMessage function, the simulation result data is transmitted to the simulation function implementation module;
[0107] In step S14, orbit running simulation of the satellite is completed according to the optimal planning path, the adjustment signal and the simulation result data.
[0108] The method is based on the OMNeT++ simulation framework, and is innovative in combining a multi-factor dynamic path planning algorithm with a modular management mechanism, and in realizing efficient and accurate simulation of ten thousand satellites by constructing multiple functional modules to work cooperatively, so as to meet the software development needs of mega constellation simulation.
[0109] According to the third specific embodiment of the present application, the present application provides an electronic device, as shown in Figure 5 The electronic device is a block diagram of an electronic device according to an example embodiment. Figure 5 The electronic device is a block diagram of an electronic device according to an example embodiment.
[0110] The following will be described with reference toFigure 5 to describe the electronic device 200 according to this embodiment of the present application. Figure 5 The electronic device 200 shown is merely an example and should not limit the function and usage range of the embodiments of the present application in any way.
[0111] As shown in Figure 5 The electronic device 200 is in the form of a general computing device. The components of the electronic device 200 can include, but are not limited to, at least one processing unit 210, at least one storage unit 220, a bus 230 connecting different system components (including the storage unit 220 and the processing unit 210), a display unit 240, and the like.
[0112] The storage unit stores program codes that can be executed by the processing unit 210, so that the processing unit 210 performs the steps described in the present specification according to various exemplary embodiments of the present application. For example, the processing unit 210 can perform the steps as shown in Figure 4
[0113] The storage unit 220 can include a readable medium in the form of a volatile storage unit, such as a random access memory (RAM) 2201 and / or a cache memory unit 2202, and can further include a read-only memory (ROM) 2203.
[0114] The storage unit 220 can also include program / utilities 2204 having a set of (at least one) program modules 2205, such as an operating system, one or more application programs, other program modules, and program data, each of which or some combination of which can include implementation of a network environment.
[0115] The bus 230 can represent one or more of several types of bus structures, including a storage unit bus or storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of a variety of bus structures.
[0116] The electronic device 200 can also communicate with one or more external devices 200' such as a keyboard, a pointing device, a Bluetooth device, etc. so that a user can interact with the electronic device 200, and / or any devices (e.g., a router, a modem, etc.) that enable the electronic device 200 to communicate with one or more other computing devices. Such communication can occur via Input / Output (I / O) interface 250. Also, the electronic device 200 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or the public network, such as the Internet) via network adapter 260. Network adapter 260 can communicate with the other components of the electronic device 200 via bus 230. It should be understood that although not shown, other hardware and / or software components could be used in conjunction with the electronic device 200. These include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
[0117] From the above description of the embodiments, those skilled in the art will readily appreciate that the example embodiments described herein can be implemented by software and / or by hardware coupled with software. In particular, the example embodiments described herein can be implemented by software and / or firmware modules stored in memory of the electronic device 200, executed on the processor 210, and / or using the processor 210.
[0118] Accordingly, in a fourth specific embodiment of the present application, a computer readable medium is provided. As shown, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash disk, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to perform the above-described method according to the embodiments of the present application. Figure 6
[0119] The software product can employ any combination of one or more readable media. The readable media can be a readable signal medium or a readable storage medium. The readable storage medium, for example, can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the above. More specific examples (a non-exhaustive list) of the readable storage medium include an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0120] The computer readable storage medium can include a non-transitory computer-readable medium (e.g., volatile or non-volatile memory device), a media such as a CD, DVD, Blu-ray Disc™, a floppy disk, a tape, a magnetic hard disk, an optical disk, a magneto-optical disk, a flash memory, a volatile memory device, a non-volatile memory device, a non-transitory memory device, a storage device, a storage medium, a storage, a memory, a computer readable storage medium, a computer readable memory device, a random access memory (RAM), a dynamic random access memory (DRAM), a read-only memory (ROM), a flash memory, a volatile memory device, a non-volatile memory device, a hard disk drive, a floppy disk drive, a magnetic disk drive, an optical disk drive, a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-R, a DVD-RW, a Blu-ray® disk, a USB memory, a memory card, a ROM, a CD, a DVD, a Blu-ray® disk, or any other suitable non-transitory computer readable medium.
[0121] The program code can be implemented in any of various ways, including procedure-based techniques, component-based techniques, and / or object-based techniques, among others. For example, the program code can be implemented in a variety of programming languages, such as object-oriented based programming languages like Java, C++, or the like, and conventional procedural-based programming languages.
[0122] The above computer readable medium stores one or more programs, which, when executed by the device, cause the computer readable medium to perform the functions of the first embodiment.
[0123] Those skilled in the art can understand that the above modules can be distributed in the device according to the description of the embodiments, and can also be changed to be in one or more devices different from the embodiments. The modules of the above embodiments can be combined into one module, or can be further split into multiple sub-modules.
[0124] From the above description of the embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB, a mobile hard disk, etc.) or a network, and includes a number of instructions to make a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the methods according to the embodiments of the present application.
[0125] The above merely describes the preferred embodiments of the present application, and is not used to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A giant constellation simulation system based on OMNeT++, characterized in that, include: The path planning module is used to construct a dynamic weight model using a dynamic weight algorithm to obtain the dynamic weight of the path, and generate the optimal planned path for the satellite based on the dynamic weight of the path. The working mode adjustment module is used to monitor the system's operating status in real time, confirm the target working mode based on the label information of each module in the system, and send the adjustment signal for adjusting to the target working mode to each module in the corresponding system. The protocol simulation module is used to process various protocol messages in the handleMessage function and then transmit the simulation result data to the simulation function implementation module. The simulation function implementation module is used to complete the satellite's orbital operation simulation based on the optimal planned path, adjusted signals, and simulation result data; The path planning module includes: The data acquisition submodule is used to collect in real time the satellite's energy consumption rate, current mission load, link latency, and the satellite's position coordinates and target point position coordinates in the space coordinate system. The dynamic weight model submodule is used to calculate energy consumption weight, task load weight, and link delay weight based on the data collected by the data acquisition module. The calculation submodule is used to calculate the actual cost, the heuristic estimated cost, and the total estimated cost using Manhattan distance combined with dynamic weights, based on the calculation results of the dynamic weight model module and the data collected by the data acquisition module. The confirmation submodule is used to determine the optimal path for the satellite based on the total estimated cost. Specifically, the dynamic weight model submodule calculates the energy consumption weight, task load weight, and link latency weight based on the following formulas: ; (1) ; (2) ; (3) in, To determine the weight of energy consumption, This refers to the satellite's energy consumption rate. As the task load weight, This represents the maximum rate at which the satellite consumes energy. This represents the current task load. This represents the maximum value of the task load. For link delay weights, This refers to the link delay time. This represents the maximum link delay time. The calculation submodule calculates the actual cost, the heuristically estimated cost, and the total estimated cost based on the following formulas; ; (4) ; (5) ; (6) Among them, nodes n This refers to the satellite's position state during path planning. For satellites from origin to node n After k The actual cost of the segment path, the first i The path weight of the segment path is The path length is , α, β, and γ are weighting coefficients, and ; , ,node n The coordinates are The target point coordinates are .
2. The Giant Star Cone simulation system according to claim 1, characterized in that, The working mode adjustment module includes: The label monitoring submodule is used to continuously monitor the label information of each module in the system; wherein, the label information includes at least the functional identification information, task priority information and running status information of each module; The working mode confirmation submodule is used to confirm the target working mode required by the current system based on the label information; wherein, the working mode includes at least a high-efficiency energy-saving mode and a high-precision processing mode; The adjustment signal sending submodule is used to send the adjustment signal for adjusting to the target working mode to each module in the corresponding system, based on the target working mode confirmed by the working mode confirmation submodule.
3. The Giant Star Cone simulation system according to claim 2, characterized in that, The working mode adjustment module also includes: The real-time path weight adjustment submodule is used to dynamically adjust the path weight by monitoring the status change events of satellites and ground stations; The adjustment signal sending submodule is also used to feed back the dynamically adjusted path weights to the path planning module.
4. The Giant Star simulation system according to claim 3, characterized in that, The real-time path weight adjustment submodule dynamically adjusts path weights using the following formula: ; (7) Among them, path weight Over time t change, and These are the basic weights and adjustment coefficients, and , It is the weight offset calculated based on real-time events, and BaseWeight(i) represents the base weight.
5. The Giant Star simulation system according to claim 4, characterized in that, The protocol simulation module includes: The message classification submodule is used in the handleMessage function to classify messages according to their labels. The protocol processing submodule is used to implement the state machine management of the TR-AKA and MRSA protocols in the handleMessage function, tracking each stage of protocol execution to ensure correct protocol interaction.
6. The Giant Star simulation system according to claim 5, characterized in that, The simulation function implementation module includes: The computational simulation submodule is used to simulate the orbital operation of satellites in a constellation based on OMNeT++. The data visualization submodule is used to visualize the simulation results of the computational simulation submodule using OsgEarth.
7. The Giant Star Cone simulation system according to claim 6, characterized in that, The simulation function implementation module includes: The distributed integration submodule is used to utilize the distributed simulation capabilities of OMNeT++, combined with multi-machine cluster technology, to assist the computational simulation submodule in simulating the satellite orbit operation of the constellation.
8. A simulation method for the Giants constellation based on OMNeT++, characterized in that, include: A dynamic weighting algorithm is used to construct a dynamic weighting model to obtain the dynamic weights of the path, and the optimal planned path of the satellite is generated based on the dynamic weights of the path. The system monitors the operating status in real time, confirms the target working mode based on the label information of each module in the system, and sends the adjustment signal for adjusting to the target working mode to each module in the corresponding system. After processing various protocol messages in the handleMessage function, the simulation result data is transmitted to the simulation function implementation module; Based on the optimal planned path, adjusted signals, and simulation results, the satellite's orbital operation simulation is completed. The step of employing a dynamic weighting algorithm to construct a dynamic weighting model to obtain dynamic path weights, and generating the optimal planned path for the satellite based on the dynamic path weights, includes: Real-time data collection includes the satellite's energy consumption rate, current mission load, link latency, and the satellite's position coordinates and the target point's position coordinates in the spatial coordinate system. Based on the data collected by the data acquisition module, calculate the energy consumption weight, task load weight, and link delay weight; Based on the calculation results of the dynamic weight model module and the data collected by the data acquisition module, the actual cost, the heuristic estimated cost, and the total estimated cost calculated using Manhattan distance combined with dynamic weights are calculated. The optimal path for the satellite is determined based on the total estimated cost; Specifically, the dynamic weight model submodule for energy consumption weight, task load weight, and link delay weight is calculated based on the following formula: ; (1) ; (2) ; (3) in, To determine the weight of energy consumption, This refers to the satellite's energy consumption rate. As the task load weight, This represents the maximum rate at which the satellite consumes energy. This represents the current task load. This represents the maximum value of the task load. For link delay weights, This refers to the link delay time. This represents the maximum link delay time. The calculation submodule calculates the actual cost, the heuristically estimated cost, and the total estimated cost based on the following formulas; ; (4) ; (5) ; (6) Among them, nodes n This refers to the satellite's position state during path planning. For satellites from origin to node n After k The actual cost of the segment path, the first i The path weight of the segment path is The path length is , α, β, and γ are weighting coefficients, and ; , ,node n The coordinates are The target point coordinates are .
Citation Information
Patent Citations
Multi-aircraft joint simulation system
CN110674584A
Satellite modeling simulation calculation analysis system
CN117421901A