A parallelized Picard iteration spacecraft orbit prediction method and device
Through the parallelized Picard iteration method, the parallelized orbital circle and segment calculations are adaptively divided into calculation intervals, solving the problem of low calculation efficiency of existing orbit forecasts and achieving efficient orbit forecasts.
Patent Information
- Application Number
- CN202510689805.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-27
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-05-27
AI Technical Summary
The existing track forecasting method is serial computing, which fails to effectively utilize computing resources, resulting in inefficient computing efficiency.
The parallelized Picard iteration method is adopted to adaptively determine the track prediction calculation parameters, divide the calculation intervals, parallelize the calculation of the track circle and track segment, combine external parallel interval loop iteration and internal Picard iteration, and use multi-core processor resources to perform parallel calculations and serial corrections to output the track forecast results.
The track forecasting efficiency has been greatly improved, and the computing resources have been fully utilized, and the transformation from traditional inefficient serial computing to efficient parallel computing has been realized.
Smart Images

Figure CN120197410B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of aerospace orbit design, and in particular to a parallelized Picard iteration spacecraft orbit prediction method and device. Background Art
[0002] The orbit prediction problem is fundamental to many aerospace fields. It can be described as an initial value problem for a nonlinear ordinary differential equation. The governing equation is a two-body perturbation equation, integrating the velocity and position vectors. The position and velocity at a given point in time are obtained by integrating and extrapolating the position and velocity of the spacecraft's existing orbit. In recent years, a class of integral methods for solving initial value problems for nonlinear ordinary differential equations that combines collocation and iteration methods has become widely used. These methods offer higher computational step sizes and speeds than traditional finite difference methods. The Picard iteration method is an example of a collocation iteration method that utilizes the contraction mapping theorem. Simultaneously, a class of parallel computing methods known as split-iteration algorithms has emerged. These methods split a physical quantity and then construct an iterative scheme that allows them to iteratively approximate the solution to the original problem. Existing orbit prediction methods are serial, computationally inefficient, and fail to utilize computing resources. Summary of the Invention
[0003] Based on this, it is necessary to provide a parallelized Picard iterative spacecraft orbit prediction method, device, computer equipment and storage medium that can effectively utilize computing resources and improve the efficiency of spacecraft orbit prediction in response to the above technical problems.
[0004] A parallelized Picard iterative spacecraft orbit prediction method, the method comprising:
[0005] Based on the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval.
[0006] An external parallel interval loop iteration is used between orbital circles in the calculation interval. Each orbital calculation segment in the orbital circle performs internal Picard iterative parallel calculation. After correcting the serialization of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0007] The orbit calculation segment is adjusted to the perigee position of the next orbital period using a circle-changing program, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated, and the target orbit position and velocity vector of the spacecraft are output.
[0008] According to the target orbital position and velocity vector and the data stored in the internal Picard iterative parallel calculation process of multiple threads, the ephemeris file of orbit prediction is output after being processed by interpolation.
[0009] A parallelized Picard iteration spacecraft orbit prediction device, comprising:
[0010] The orbit segment division module is used to adaptively determine the calculation parameters of orbit prediction and divide the calculation interval according to the initial configuration information set by the user.
[0011] The Chebyshev matrix acquisition module is used to calculate the orbital circles in the interval using external parallel interval loop iteration. Each orbital calculation segment in the orbital circle performs internal Picard iterative parallel calculation respectively. After correcting the serialization of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0012] The Picard iterative correction module is used to adjust the orbit calculation segment to the perigee position of the next orbital period using a circle-changing program, enter the next external parallel interval loop iteration step, and perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments in the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated and the target orbit position and velocity vector of the spacecraft are output.
[0013] The orbit prediction module is used to process the data stored in the internal Picard iterative parallel calculation process by multiple threads in an interpolation manner according to the target orbit position and velocity vector, and output an ephemeris file for orbit prediction.
[0014] A computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0015] Based on the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval.
[0016] An external parallel interval loop iteration is used between orbital circles in the calculation interval. Each orbital calculation segment in the orbital circle performs internal Picard iterative parallel calculation. After correcting the serialization of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0017] The orbit calculation segment is adjusted to the perigee position of the next orbital period using a circle-changing program, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated, and the target orbit position and velocity vector of the spacecraft are output.
[0018] According to the target orbital position and velocity vector and the data stored in the internal Picard iterative parallel calculation process of multiple threads, the ephemeris file of orbit prediction is output after being processed by interpolation.
[0019] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the following steps:
[0020] Based on the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval.
[0021] An external parallel interval loop iteration is used between orbital circles in the calculation interval. Each orbital calculation segment in the orbital circle performs internal Picard iterative parallel calculation. After correcting the serialization of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0022] The orbit calculation segment is adjusted to the perigee position of the next orbital period using a circle-changing program, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated, and the target orbit position and velocity vector of the spacecraft are output.
[0023] According to the target orbital position and velocity vector and the data stored in the internal Picard iterative parallel calculation process of multiple threads, the ephemeris file of orbit prediction is output after being processed by interpolation.
[0024] The aforementioned parallelized Picard iteration method and apparatus for spacecraft orbit prediction features the ability to adaptively determine orbit prediction calculation parameters based on the spacecraft's initial configuration information and scientifically divide the calculation intervals. Within the calculation interval, an external parallel interval loop iteration is employed between orbital circles. This operation overcomes the limitations of traditional serial computation, allowing computational tasks for different orbital circles to be performed simultaneously and fully utilizing the parallel processing capabilities of computing resources such as multi-core processors. Within each orbital circle, internal Picard iteration parallel computations are performed on each orbital calculation segment, further refining and parallelizing the computational tasks and significantly improving computational efficiency. During the calculation process, all orbital calculation segments within the current external parallel interval loop iteration are serially corrected based on convergence criteria to ensure the accuracy of the calculation results. Furthermore, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector, providing key data for subsequent orbital calculations. The orbit calculation segment is adjusted to the perigee position of the next orbital period using a loop-changing program. The internal Picard iterative parallel calculation and serial correction of the next external parallel interval loop iteration step are continued until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is then terminated, and the target orbit position and velocity vector of the spacecraft are output. Finally, based on the target orbit position and velocity vector, the data stored by multiple threads during the internal Picard iterative parallel calculation process are processed using interpolation and then output as the orbit prediction ephemeris file. Through this series of parallel and serial calculation methods, this technical solution fully utilizes scattered computing resources, significantly improves orbit prediction efficiency, and realizes the transition from traditional inefficient serial calculation to efficient parallel calculation. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 1 is a flow chart of a parallelized Picard iterative spacecraft orbit prediction method in one embodiment;
[0026] Figure 2 A schematic diagram of a process flow of a parallelized Picard iterative spacecraft orbit prediction step in one embodiment;
[0027] Figure 3 A specific flow chart of a parallelized Picard iterative spacecraft orbit prediction method in one embodiment;
[0028] Figure 4 A schematic diagram of an orbit obtained by parallelizing the Picard iterative spacecraft orbit prediction method in one embodiment;
[0029] Figure 5 A schematic diagram of Hamiltonian changes in a parallelized Picard iterative spacecraft orbit prediction method according to one embodiment;
[0030] Figure 6 A structural block diagram of a parallelized Picard iteration spacecraft orbit prediction device in one embodiment;
[0031] Figure 7 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0032] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0033] In one embodiment, Figure 1 As shown, a parallelized Picard iterative spacecraft orbit prediction method is provided, including the following steps:
[0034] Step 102: The spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval according to the initial configuration information set by the user.
[0035] In step 104, an external parallel interval loop iteration is used between orbital circles in the calculation interval. Each orbital calculation segment in the orbital circle is subjected to internal Picard iterative parallel calculation. After the serialization of all orbital calculation segments in the current external parallel interval loop iteration step is corrected according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0036] Step 106 uses the loop change program to adjust the orbit calculation segment to the perigee position of the next orbital period, and enters the next external parallel interval loop iteration step to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments in the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated and the target orbit position and velocity vector of the spacecraft are output.
[0037] Step 108 : After the target orbit position and velocity vector and the data stored in the internal Picard iterative parallel calculation process of multiple threads are processed in an interpolation manner, an ephemeris file of the orbit prediction is output.
[0038] The aforementioned parallelized Picard iteration method for spacecraft orbit prediction firstly adaptively determines orbit prediction calculation parameters based on the initial spacecraft configuration information and scientifically divides the calculation intervals. Within the calculation interval, an external parallel interval loop iteration is used between orbital circles. This operation breaks the limitations of traditional serial calculation, allowing calculation tasks for different orbital circles to be performed simultaneously, fully utilizing the parallel processing capabilities of computing resources such as multi-core processors. Within each orbital circle, internal Picard iteration parallel calculations are performed on each orbit calculation segment, further refining and parallelizing the calculation tasks, greatly improving computational efficiency. During the calculation process, all orbit calculation segments in the current external parallel interval loop iteration are serially corrected based on convergence criteria to ensure the accuracy of the calculation results. Simultaneously, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector, providing key data for subsequent orbit calculations. The orbit calculation segment is adjusted to the perigee position of the next orbital period using a loop-changing program. The internal Picard iterative parallel calculation and serial correction of the next external parallel interval loop iteration step are continued until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is then terminated, and the target orbit position and velocity vector of the spacecraft are output. Finally, based on the target orbit position and velocity vector, the data stored by multiple threads during the internal Picard iterative parallel calculation process are processed using interpolation and then output as the orbit prediction ephemeris file. Through this series of parallel and serial calculation methods, this technical solution fully utilizes scattered computing resources, significantly improves orbit prediction efficiency, and realizes the transition from traditional inefficient serial calculation to efficient parallel calculation.
[0039] In one embodiment, the initial configuration information set by the user is converted into orbital elements, and the position and velocity of the spacecraft at perigee are calculated based on the orbital elements. The number of nodes and orbital segments of each orbit is divided based on the position and velocity at perigee and the constraints of the initial configuration information. If the initial or final conditions of the constraints do not lie at the start or end point of the predicted orbital segment, the first or last orbital segment is shortened and the number of nodes in the first or last orbital segment is adjusted to obtain the divided orbital segments. Based on the divided orbital segments and the number of orbital cycles, the time of one orbital period is added to each time vector to obtain the calculation interval.
[0040] In one embodiment, an external parallel interval loop iteration is used between each track segment in the calculation interval, and a thread is created for each track calculation segment in the calculation interval using the OpenMP model. In each of the threads, Picard highly matrixed iterative parallel calculation is used to obtain the position-velocity vector to be corrected:
[0041] ;
[0042] ;
[0043] ;
[0044] in, is the iteration coefficient corresponding to the position vector, is the iteration coefficient corresponding to the velocity vector, is the position vector, is the velocity vector, The initial value matrix for the current orbit calculation segment, The initial velocity matrix for the current track calculation segment, is the Chebyshev coefficient matrix corresponding to the velocity vector, is the Chebyshev coefficient matrix corresponding to the position vector, is the least squares matrix, is the nonlinear force matrix, is the Chebyshev function matrix. According to the convergence condition, the analytical serial algorithm is used to correct the position-velocity vector to be corrected corresponding to each iterative round orbit calculation segment to obtain the corrected position-velocity vector:
[0045] ;
[0046] in, For Orbit calculation segment The iteration corresponds to the position-velocity vector of the aircraft, For Track calculation segment The iterations correspond to the position-velocity vector of the spacecraft, is the Picard iteration operator, is the analytical operator.
[0047] In one embodiment, the time division of the current orbital circle is calculated based on the preset forecast time and the target position-velocity vector, and then expanded to the next orbital circle, and the Chebyshev matrix of the orbital calculation segment is calculated to obtain the Chebyshev coefficient matrix and time vector corresponding to the orbital calculation segment in the next orbital circle.
[0048] In one embodiment, a loop-changing program is used to adjust the orbit calculation segment to the perigee position of the next orbital period. The last orbit calculation segment of the current external interval is selected to calculate the instantaneous orbital elements of all collocation points. If the true anomaly angle of any two collocation points rotates from 360 degrees to 0 degrees, the perigee position is located between the two collocation points. The NewtonScant nonlinear technique is used to obtain the target orbital position and velocity vector of the spacecraft corresponding to the zero point of the function. Otherwise, a Picard iterative calculation serial correction is performed on the corrected position-velocity vector in parallel on multiple threads, and the iteration parameter array corresponding to the last Picard iteration in the last iteration round is saved. The loop iteration of the external parallel interval is terminated until the end time of the time vector reaches the end time of the initial configuration information, and the target iteration parameter array is obtained. The Chebyshev polynomial value is calculated based on the target iteration parameter array, and the target orbital position and velocity vector of the spacecraft are output.
[0049] In one embodiment, the target orbital position and velocity vector are calculated using internal Picard iterative parallel computations performed by multiple threads to obtain initial velocity coefficients and position coefficients. A time point array is generated based on a user-preset time interval. All time points in the current orbit calculation segment are filtered from the time point array, and the filtered time points are normalized. Each orbit calculation segment is traversed, and the values of the Chebyshev polynomials at the normalized time points are calculated and stored in the velocity matrix and position matrix, respectively. Matrix multiplication is used to calculate velocity interpolation results based on the velocity matrix and the initial velocity coefficients, and position interpolation results are calculated based on the position matrix and the position coefficients, resulting in velocity interpolation and position interpolation. A counter is updated based on the velocity interpolation and position interpolation, and the target position-velocity vector is stored in the target array. After the internal Picard iterative parallel computations are completed in the orbit calculation segment, an orbit prediction ephemeris file is output based on the target array and the times of each collocation point.
[0050] In one embodiment, a parallelized Picard iterative spacecraft orbit prediction method is disclosed, which can output high-precision ephemeris required for the entire prediction period given the initial orbit value, prediction period, accuracy requirement, and output ephemeris interval. Figure 2 、 Figure 3 In this embodiment, the parallelized Picard iterative spacecraft orbit prediction method specifically includes the following steps:
[0051] Step 1: Based on the user-specified accuracy requirements and initial conditions, adaptively determine the algorithm's calculation parameters and divide the calculation interval; calculate the Chebyshev matrix to provide basic data for subsequent iterative calculations.
[0052] For the specific implementation, we choose an orbit with a large eccentricity so that it can cover both high and low orbit situations and be general. The initial conditions are set as shown in Table 1:
[0053] Table 1 Initial condition settings
[0054]
[0055] The orbital ordinary differential equation solved is:
[0056] ;
[0057] Then, the orbital initial conditions are converted into classical orbital elements, that is, the instantaneous orbital element conversion is shown in Table 2:
[0058] Table 2 Conversion of instantaneous orbital elements
[0059]
[0060] This is the perigee. If it is not perigee, the perigee time is determined by finding the true anomaly zero point and using this as the initial condition. The parameters are then adapted, with the initial adaptive parameters being 3 segments per revolution and 10 points per segment.
[0061] According to this segmentation, the nonlinear term function is fitted using the Chebyshev function of the same order and the error is calculated. The fitting process is the least squares approximation, and the formula is described as:
[0062] ;
[0063] ;
[0064] in, That is, Chebyshev basis function, The CGL point is defined as:
[0065] ;
[0066] ;
[0067] in is the initial time and the end time of each segment. The weight matrix is: .
[0068] With points ( ) take 10, segment ( ) The fitting error of 3 is: , which is smaller than the error specified by the user, so the number of points is expanded The value of (Based on experience, continue to expand The improvement of algorithm accuracy is limited, but the increased algorithm burden will be greater), and then the number of segments is increased until the fitting error is less than the user's requirement. The iterative process is shown in Table 3:
[0069] Table 3 Iteration process
[0070]
[0071] Finally, the number of segments and the number of points per segment, i.e., the order of the Chebyshev basis function, are determined. The length of the large parallel interval is then selected based on the number of user CPUs. Here, 5 circles are selected, meaning that one circle is divided into 11 segments according to the true anomaly. Each segment is assigned 40 points according to the time vector of the CGL. This is directly expanded to 5 circles based on the orbital period at this time.
[0072] Step 2: Enter the large parallel interval loop, perform Picard iterative parallel calculation for each calculation segment, and then serially correct all calculation segments in the large parallel interval until all calculation segments in the entire parallel interval meet the convergence conditions.
[0073] That is, adopt Figure 3 The execution direction is to first provide the initial value for each point on each initial segment through the Kepler / Vinti analytical method. In this example, for 5 circles (one circle is approximately equal to )common Seconds, the last total A distribution point.
[0074] Then use OpenMP to start multiple threads, each thread is a track segment, that is In each calculation segment, Picard iteration is performed using a thread, which is expressed as:
[0075] ;
[0076] Among them, the matrix 、 、 is the matrix related to the Chebyshev fit and Gaussian integral, which has been created in step 1. , is the initial value matrix in the track segment. Each iteration mainly updates the nonlinear term matrix , is a Each row of the matrix stores the force on each point on the track segment. That is:
[0077] ;
[0078] The force function calculation model is used to obtain the force function, which is the main source of computational burden. The model used here is mainly the EGM2008 spherical harmonic model, and the order is the order set by the user. In the parallel architecture, we define the Vinti / Kepler analytical calculation method as operator, the Picard iterative algorithm is defined as Operators, both operators can get the last value of the current segment from the initial value of the current segment, which is also the initial value of the next segment. After the operator completes the calculation, use it again The operator is updated, and the update formula is expressed as:
[0079] ;
[0080] in, That is, the position-velocity vector that needs to be solved, Represents the initial value of a certain section, subscript Represents the number of iterations, the superscript Represents time, that is, the number of segments.
[0081] Repeat the above steps until Convergence means that the infinity norm of the two iterations before and after the entire calculation interval is reduced to the user-specified accuracy or the maximum number of iterations is reached:
[0082] ;
[0083] In step 3, the initial value is set to the perigee position of the next orbital period through the loop change program, and the next large parallel interval is entered. The parallel iteration and serial correction process in step 2 are repeated until the forecast time reaches the end time specified by the user.
[0084] The purpose of the loop change procedure is to change the initial value of the next large interval to the perigee angle of the orbital period. In fact, after the orbit division in step 1, the end time of the previous large interval is the perigee position of the whole circle in the sense of a certain analytical solution. However, since the Picard iterative prediction calls a more complex perturbation function, there will be a certain offset near the perigee at this moment. Due to the relevant characteristics of the orbit, it is likely to pass through the perigee position. Select the last calculation segment of the previous large interval and calculate the instantaneous orbital elements of all the points in it. If the true anomaly angle of two of the points changes from arrive If there is a sudden change in the value of , we can determine that the perigee is between the two points and use the Secant nonlinear method to find the zero point of the function.
[0085] In this example, the start time of the next large parallel interval after the circle change is: The second circle change time is , and calculate to the end point in the third large parallel interval.
[0086] Use the time at this point as the initial value of the next large interval, and use the single-circle time division and multi-circle expansion in step 1 to obtain the track segments of the next large interval and the initial time of each track segment.
[0087] Step 4: Store the Chebyshev coefficient matrix and time vector obtained during the iteration process in multiple threads. Interpolate the stored data and output the ephemeris file according to the time interval specified by the user.
[0088] By initialization time point: according to the time interval specified by the user , generated from the initial time To the end time An array of uniform time points . Traverse each segment: For each segment of the trajectory data, perform the following operations: Initialize variables: allocate storage space for the current segment and initialize related variables, including the speed coefficient and location coefficient . Determine the time point: from Filter out all time points in the current segment and normalize these time points to Interval, stored in array Calculate the Chebyshev polynomial value: based on the normalized time point , calculate the value of Chebyshev polynomial at these time points and store them in Tv (for velocity) and Tp (for position) matrices respectively. Interpolation calculation: use matrix multiplication to combine Tv and Beta to calculate velocity interpolation results , combined with Calculate the position interpolation result with Alpha .Store the interpolated velocity and position data into the output array for use in subsequent steps.
[0089] Update counter: After completing the interpolation calculation for each segment, update the counter so that the result is stored correctly in The corresponding position of the array.
[0090] It should be understood that although Figure 1-Figure 3 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 1-Figure 3At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0091] In one embodiment, Figure 6 As shown, a parallelized Picard iterative spacecraft orbit prediction device is provided, comprising: an orbit segment division module 602, a Chebyshev matrix acquisition module 604, a Picard iterative correction module 606, and an orbit prediction module 608, wherein:
[0092] The orbit segment division module 602 is used to adaptively determine the calculation parameters of the orbit prediction and divide the calculation interval according to the initial configuration information set by the user.
[0093] The Chebyshev matrix acquisition module 604 is used to use external parallel interval loop iteration between orbit circles in the calculation interval. Each orbit calculation segment in the orbit circle performs internal Picard iterative parallel calculation respectively, and after correcting the serialization of all orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition, calculates the Chebyshev matrix to obtain the Chebyshev coefficient matrix and time vector.
[0094] The Picard iterative correction module 606 is used to adjust the orbit calculation segment to the perigee position of the next orbital period using a circle-changing program, enter the next external parallel interval loop iteration step, and perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments in the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated and the target orbit position and velocity vector of the spacecraft are output.
[0095] The orbit prediction module 608 is used to process the target orbit position and velocity vector and the data stored in the internal Picard iterative parallel calculation process by multiple threads in an interpolation manner and output an orbit prediction ephemeris file.
[0096] The specific definitions of a parallelized Picard iteration spacecraft orbit prediction device can be found in the definitions of a parallelized Picard iteration spacecraft orbit prediction method described above and will not be repeated here. Each module in the aforementioned parallelized Picard iteration spacecraft orbit prediction device can be implemented in whole or in part via software, hardware, or a combination thereof. Each of these modules can be embedded in or independent of a processor within a computer device in hardware form, or stored in a computer device memory in software form, allowing the processor to call and execute the corresponding operations of each module.
[0097] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 7 As shown. The computer device includes a processor, memory, network interface, display screen and input device connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a parallelized Picard iterative spacecraft orbit prediction method is implemented. The display screen of the computer device can be a liquid crystal display or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad provided on the computer device housing, or an external keyboard, touchpad or mouse.
[0098] Those skilled in the art will understand that Figure 6-Figure 7 The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present invention and does not constitute a limitation on the computer device to which the solution of the present invention is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0099] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0100] Based on the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval.
[0101] An external parallel interval loop iteration is used between orbital circles in the calculation interval. Each orbital calculation segment in the orbital circle performs internal Picard iterative parallel calculation. After correcting the serialization of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0102] The orbit calculation segment is adjusted to the perigee position of the next orbital period using a circle-changing program, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated, and the target orbit position and velocity vector of the spacecraft are output.
[0103] According to the target orbital position and velocity vector and the data stored in the internal Picard iterative parallel calculation process of multiple threads, the ephemeris file of orbit prediction is output after being processed by interpolation.
[0104] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0105] Based on the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval.
[0106] An external parallel interval loop iteration is used between orbital circles in the calculation interval. Each orbital calculation segment in the orbital circle performs internal Picard iterative parallel calculation. After correcting the serialization of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and time vector.
[0107] The orbit calculation segment is adjusted to the perigee position of the next orbital period using a circle-changing program, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end moment of the time vector reaches the end moment of the initial configuration information. The external parallel interval loop iteration is terminated, and the target orbit position and velocity vector of the spacecraft are output.
[0108] According to the target orbital position and velocity vector and the data stored in the internal Picard iterative parallel calculation process of multiple threads, the ephemeris file of orbit prediction is output after being processed by interpolation.
[0109] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing the relevant hardware using a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the above-described method embodiments. Any reference to memory, storage, database, or other media used in the various embodiments provided herein may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct RAMbus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM).
[0110] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0111] The above-described embodiments merely illustrate several implementations of the present invention, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention. It should be noted that a person skilled in the art would be able to make numerous modifications and improvements without departing from the spirit of the present invention, all of which fall within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be determined by the appended claims.
Claims
1. A parallelized Picard iterative spacecraft orbit prediction method, characterized in that: The method comprises: The spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval according to the initial configuration information set by the user; An external parallel interval loop iteration is used between orbital circles in the calculation interval, and each orbital calculation segment in the orbital circle is respectively subjected to internal Picard iterative parallel calculation. After the serialization of all the orbital calculation segments in the current external parallel interval loop iteration step is corrected according to the convergence condition, the Chebyshev matrix is calculated to obtain the Chebyshev coefficient matrix and the time vector; Using a loop change program, the orbit calculation segment is adjusted to the perigee position of the next orbital period, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end time of the time vector reaches the end time of the initial configuration information, terminating the external parallel interval loop iteration and outputting the target orbit position and velocity vector of the spacecraft; An external parallel interval loop iteration is used between each track segment in the calculation interval. The OpenMP model is used to create a thread for each track calculation segment in the interval. In each thread, Picard highly matrixed iterative parallel calculation is used to obtain the position-velocity vector to be corrected: in, is the iteration coefficient corresponding to the position vector, is the iteration coefficient corresponding to the velocity vector, is the position vector, is the velocity vector, The initial value matrix for the current orbit calculation segment, The initial velocity matrix for the current track calculation segment, is the Chebyshev coefficient matrix corresponding to the position vector, is the Chebyshev coefficient matrix corresponding to the velocity vector, is the least squares matrix, is the nonlinear force matrix, is the Chebyshev function matrix; According to the convergence condition, the analytical serial algorithm is used to correct the position-velocity vector to be corrected corresponding to each iterative round orbit calculation segment to obtain the corrected position-velocity vector: in, For Orbit calculation segment The iteration corresponds to the position-velocity vector of the aircraft, For Orbit calculation segment The iterations correspond to the position-velocity vector of the spacecraft, is the Picard iteration operator, is the analytical operator; The target orbit position and velocity vector and the data stored in the internal Picard iterative parallel calculation process performed by multiple threads are processed in an interpolation manner to output an ephemeris file for orbit prediction.
2. The method according to claim 1, characterized in that Based on the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters for orbit prediction and divides the calculation interval, including: Converting initial configuration information set by the user into orbital elements, and calculating the position and velocity of the spacecraft at perigee based on the orbital elements; Dividing the number of nodes and track segments of each track segment according to the position and velocity at the perigee and the constraints of the initial configuration information, and if the initial condition or the terminal condition of the constraint is not at the start or end point of the predicted track segment, shortening the first track segment or the last track segment and adjusting the number of nodes of the first track segment or the last track segment to obtain the divided track segment; The calculation interval is obtained by adding one orbital cycle to each of the time vectors according to the divided orbital segments and the number of orbital circles.
3. The method according to claim 1, characterized in that Calculate the Chebyshev matrix and obtain the Chebyshev coefficient matrix and time vector, including: The time division of the current orbital circle is calculated according to the preset forecast time and the target position-velocity vector, and then expanded to the next orbital circle. The Chebyshev matrix of the orbital calculation segment is calculated to obtain the Chebyshev coefficient matrix and time vector corresponding to the orbital calculation segment in the next orbital circle.
4. The method according to claim 3, characterized in that The orbit calculation segment is adjusted to the perigee position of the next orbital period using a loop change program, and the next external parallel interval loop iteration step is entered to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next interval until the end time of the time vector reaches the end time of the initial configuration information, terminating the external parallel interval loop iteration and outputting the target orbit position and velocity vector of the spacecraft, including: The orbit calculation segment is adjusted to the perigee position of the next orbital period using a loop change program, and the last orbit calculation segment of the current external interval is selected to calculate the instantaneous orbital elements of all the collocation points. If the true anomaly angle of any two collocation points rotates from 360 degrees to 0 degrees, the perigee position is located between the two collocation points. The target orbital position and velocity vector of the spacecraft corresponding to the zero point of the function are obtained using the NewtonScant nonlinear technique. Otherwise, a Picard iterative calculation serial correction is performed on the corrected position-velocity vector in parallel in multiple threads, and an iteration parameter array corresponding to the last Picard iteration in the last iteration round is saved. The loop iteration of the external parallel interval is terminated until the end time of the time vector reaches the end time of the initial configuration information, and the target iteration parameter array is obtained. The Chebyshev polynomial value is calculated according to the target iteration parameter array, and the target orbit position and velocity vector of the spacecraft are output.
5. The method according to claim 4, characterized in that After the data stored in the internal Picard iterative parallel calculation process is processed by interpolation according to the target orbit position and velocity vector and multiple threads, an ephemeris file for orbit prediction is output, including: The target orbit position and velocity vector are calculated by the internal Picard iteration in parallel using multiple threads to obtain an initialization velocity coefficient and a position coefficient; Generate a time point array according to a time interval preset by a user, filter out all time points in the current trajectory calculation segment from the time point array, and normalize the filtered time points; Traversing each of the trajectory calculation segments, calculating the value of the Chebyshev polynomial at the normalized time point, and storing the value in the velocity matrix and the position matrix respectively; Utilizing matrix multiplication, a velocity interpolation result is calculated according to the velocity matrix and the initialization velocity coefficient, and a position interpolation result is calculated according to the position matrix and the position coefficient, to obtain a velocity interpolation value and a position interpolation value; updating a counter according to the velocity interpolation and the position interpolation, and storing the target position-velocity vector into a target array; After the orbit calculation section completes the internal Picard iterative parallel calculation, an ephemeris file for orbit prediction is output according to the target array and the time of each collocation point.
6. A parallelized Picard iterative spacecraft orbit prediction device, characterized in that: The device comprises: The orbit segment division module is used to adaptively determine the calculation parameters of orbit prediction and divide the calculation interval according to the initial configuration information set by the user; A Chebyshev matrix acquisition module is configured to employ an external parallel interval loop iteration between orbital circles in the calculation interval, perform internal Picard iterative parallel calculations on each orbital calculation segment in the orbital circle, and after correcting the serial order of all orbital calculation segments in the current external parallel interval loop iteration step according to the convergence condition, calculate the Chebyshev matrix to obtain the Chebyshev coefficient matrix and the time vector; The Picard iterative correction module is used to adjust the orbit calculation segment to the perigee position of the next orbital period using a circle-changing program, enter the next external parallel interval loop iteration step, perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments in the next interval, until the end moment of the time vector reaches the end moment of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft; external parallel interval loop iteration is used between each orbit segment in the calculation interval, and the OpenMP model is used to create a thread for each orbit calculation segment in the interval. Picard highly matrixed iterative parallel calculation is performed in each thread to obtain the position-velocity vector to be corrected: in, is the iteration coefficient corresponding to the position vector, is the iteration coefficient corresponding to the velocity vector, is the position vector, is the velocity vector, The initial value matrix for the current orbit calculation segment, The initial velocity matrix for the current track calculation segment, is the Chebyshev coefficient matrix corresponding to the position vector, is the Chebyshev coefficient matrix corresponding to the velocity vector, is the least squares matrix, is the nonlinear force matrix, is the Chebyshev function matrix; according to the convergence condition, the analytical serial algorithm is used to correct the position-velocity vector to be corrected corresponding to each iterative round orbit calculation segment to obtain the corrected position-velocity vector: in, For Orbit calculation segment The iteration corresponds to the position-velocity vector of the aircraft, For Orbit calculation segment The iterations correspond to the position-velocity vector of the spacecraft, is the Picard iteration operator, is the analytical operator; The orbit prediction module is used to process the data stored in the internal Picard iterative parallel calculation process by multiple threads in an interpolation manner according to the target orbit position and velocity vector, and output an ephemeris file for orbit prediction.
Citation Information
Patent Citations
Optimization method for spacecraft iterative guidance
CN106250625A
Track prediction method based on adaptive Legendre Picatar iteration method
CN115204449A