Parallelization Picard iteration spacecraft orbit forecasting method and device

Through parallelized Picard iterative method and Chebischev matrix calculation, the problem of low computing efficiency of the existing track forecast method is solved, efficient track forecasting is achieved, and computing resources are fully utilized.

CN120197410AActive Publication Date: 2025-06-24NAT UNIV OF DEFENSE TECH
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510689805.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-27
Publication Date
2025-06-24
Estimated Expiration
2045-05-27

AI Technical Summary

Technical Problem

The existing track forecasting methods are all carried out in serial, with low computing efficiency and fail to effectively utilize computing resources.

Method used

The parallelized Picard iteration method is adopted, and the orbital prediction ephemeris file is output through external parallel interval loop iteration and internal Picard iteration parallel calculation, combined with Chebishev matrix calculation and interpolation processing.

Benefits of technology

The track forecasting efficiency has been greatly improved, and the parallel processing capabilities of computing resources such as multi-core processors have been fully utilized, realizing the transformation from traditional inefficient serial computing to efficient parallel computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120197410A_ABST
    Figure CN120197410A_ABST
Patent Text Reader

Abstract

The invention relates to a parallelization Picard iteration spacecraft orbit forecasting method and a parallelization Picard iteration spacecraft orbit forecasting device. The method comprises the following steps: adaptively determining calculation parameters of orbit prediction and dividing calculation intervals; external parallel interval loop iteration is adopted between orbit circles in the calculation interval, internal Picard iteration parallel calculation is carried out on each orbit calculation section in the orbit circles, after serials of all the orbit calculation sections in the current external parallel interval loop iteration step are corrected according to convergence conditions, a Chebyshev matrix is calculated, and a coefficient matrix and a time vector are obtained. Adjusting the orbit calculation section to a perigee position of a next orbit period by adopting a circle changing program, performing internal Picard iteration correction calculation on all the orbit calculation sections in a next section interval in a next cycle until the end moment of the time vector reaches the end moment of the initial configuration information, and terminating external loop iteration until the end moment of the time vector reaches the end moment of the initial configuration information; and outputting the target orbit position and the velocity vector. By adopting the method, the orbit forecasting efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of aerospace orbit design, and particularly to a parallel Picard iteration spacecraft orbit prediction method and device. Background Art

[0002] The orbit prediction problem is the basis for many aerospace fields. This problem can be described as an initial value problem of a non-linear ordinary differential equation, whose governing equation is the two-body perturbation equation, integrating velocity and position vectors. It is to extrapolate the position and velocity at a given time point by integrating based on the position and velocity of the existing orbit of the spacecraft. In recent years, a class of integration methods for initial value problems of non-linear ordinary differential equations that combine collocation methods and iterative methods has been widely used, having a higher calculation step size and calculation speed than traditional finite difference methods. The Picard iteration method is one that uses the contraction mapping theorem to implement the collocation iteration method; at the same time, a class of parallel computing methods called splitting-iteration algorithms has begun to emerge. These methods split a certain physical quantity and then construct an iterative format to gradually approximate the solution of the original problem through iteration. Existing orbit prediction methods are all serial, with low computational efficiency and failure to utilize computing resources. Summary of the Invention

[0003] Based on this, in view of the above technical problems, it is necessary to provide a parallel Picard iteration spacecraft orbit prediction method, device, computer device, and storage medium that can effectively utilize computing resources and improve the efficiency of spacecraft orbit prediction.

[0004] A parallel Picard iteration spacecraft orbit prediction method, the method comprising: Adapting to determine the calculation parameters for orbit prediction and divide the calculation interval for the spacecraft according to the initial configuration information set by the user.

[0005] External parallel interval loop iteration is adopted between orbit loops in the calculation interval, and internal Picard iteration parallel calculation is performed for each orbit calculation segment in the orbit loop. After serializing all orbit 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 the time vector.

[0006] A loop-changing program is used to adjust the orbit calculation segment to the perigee position of the next orbit period, and enter the next external parallel interval loop iteration step to perform internal Picard iteration parallel calculation and serial correction on all orbit calculation segments of the next segment 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.

[0007] After the internal Picard iteration parallel calculation process based on the target orbit position and velocity vector and the data stored during the internal Picard iteration parallel calculation of multiple threads is processed by interpolation, an ephemeris file for orbit prediction is output.

[0008] A parallel Picard iteration spacecraft orbit prediction device, the device includes: An orbit segment division module, configured to adaptively determine the calculation parameters for orbit prediction of the spacecraft according to the initial configuration information set by the user, and divide the calculation interval.

[0009] A Chebyshev matrix acquisition module, configured to perform external parallel interval loop iteration between orbit circles in the calculation interval, perform internal Picard iteration parallel calculation for each orbit calculation segment in the orbit circle, and calculate the Chebyshev matrix after serializing all orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition, to obtain the Chebyshev coefficient matrix and the time vector.

[0010] A Picard iteration correction module, configured to use a circle-changing program to move the orbit calculation segment to the perigee position of the next orbit period, enter the next external parallel interval loop iteration step to perform internal Picard iteration 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, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft.

[0011] An orbit prediction module, configured to output an ephemeris file for orbit prediction after processing the data stored during the internal Picard iteration parallel calculation based on the target orbit position and velocity vector and multiple threads by interpolation.

[0012] A computer device, including a memory and a processor, the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented: Adaptively determine the calculation parameters for orbit prediction of the spacecraft according to the initial configuration information set by the user, and divide the calculation interval.

[0013] Perform external parallel interval loop iteration between orbit circles in the calculation interval, perform internal Picard iteration parallel calculation for each orbit calculation segment in the orbit circle, and calculate the Chebyshev matrix after serializing all orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition, to obtain the Chebyshev coefficient matrix and the time vector.

[0014] The orbit calculation segments are adjusted to the perigee position of the next orbit period by using the loop-changing program, and enter the next external parallel interval loop iteration step to perform internal Picard iteration parallel calculation and serial correction on all the orbit calculation segments of the next segment interval until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft.

[0015] After processing the data stored during the internal Picard iteration parallel calculation according to the target orbit position and velocity vector and multiple threads by interpolation, an ephemeris file for orbit prediction is output.

[0016] A computer-readable storage medium stores a computer program thereon, and when the computer program is executed by a processor, the following steps are implemented: 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.

[0017] External parallel interval loop iteration is adopted between the orbit loops in the calculation interval, internal Picard iteration parallel calculation is performed on each orbit calculation segment in the orbit loop, and after serial correction of all the orbit 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 the time vector.

[0018] The orbit calculation segments are adjusted to the perigee position of the next orbit period by using the loop-changing program, and enter the next external parallel interval loop iteration step to perform internal Picard iteration parallel calculation and serial correction on all the orbit calculation segments of the next segment interval until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft.

[0019] After processing the data stored during the internal Picard iteration parallel calculation according to the target orbit position and velocity vector and multiple threads by interpolation, an ephemeris file for orbit prediction is output.

[0020] The above parallel Picard iteration spacecraft orbit prediction method and device. First, this solution can adaptively determine the orbit prediction calculation parameters based on the initial configuration information of the spacecraft and scientifically divide the calculation interval. Within the calculation interval, for the orbits, external parallel interval loop iteration is adopted, which breaks the limitation of traditional serial calculation, allows the calculation tasks of different orbits to be carried out simultaneously, and fully utilizes the parallel processing ability of computing resources such as multi-core processors. In each orbit, internal Picard iteration parallel calculation is further performed for each orbit calculation segment, further refining and parallelizing the calculation tasks, and greatly improving the calculation efficiency. During the calculation process, serial correction is performed on all orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition to ensure the accuracy of the calculation results. At the same time, the Chebyshev coefficient matrix and time vector are obtained by calculating the Chebyshev matrix, providing key data for subsequent orbit calculations. The orbit calculation segment is adjusted to the perigee position of the next orbit period by using the loop-changing program, and the internal Picard iteration parallel calculation and serial correction of the next external parallel interval loop iteration step are continuously carried out until the end time of the time vector reaches the end time of the initial configuration information, then the external parallel interval loop iteration is terminated, and then the target orbit position and velocity vector of the spacecraft are output. Finally, based on the target orbit position and velocity vector, combined with the data stored during the internal Picard iteration parallel calculation by multiple threads, the orbit prediction ephemeris file is output after interpolation processing. Through this series of combined parallel and serial calculation methods, this technical solution fully utilizes the scattered computing resources, greatly improves the orbit prediction efficiency, and realizes the transformation from traditional low-efficiency serial calculation to high-efficiency parallel calculation. Description of the Drawings

[0021] Figure 1 It is a schematic flowchart of a parallel Picard iteration spacecraft orbit prediction method in an embodiment; Figure 2 It is a schematic flowchart of the steps of a parallel Picard iteration spacecraft orbit prediction in an embodiment; Figure 3 It is a specific flowchart of a parallel Picard iteration spacecraft orbit prediction method in an embodiment; Figure 4 It is a schematic diagram of the orbit obtained by solving a parallel Picard iteration spacecraft orbit prediction method in an embodiment; Figure 5 It is a schematic diagram of the change of the Hamiltonian of the orbit of a parallel Picard iteration spacecraft orbit prediction method in an embodiment; Figure 6 It is a structural block diagram of a parallel Picard iteration spacecraft orbit prediction device in an embodiment; Figure 7 It is the internal structure diagram of a computer device in an embodiment. Detailed implementation manners

[0022] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below in conjunction with 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 used to limit the present invention.

[0023] In one embodiment, as Figure 1 shown, a parallel Picard iteration spacecraft orbit prediction method is provided, including the following steps: Step 102, adaptively determine the calculation parameters of orbit prediction for the spacecraft according to the initial configuration information set by the user, and divide the calculation interval.

[0024] In step 104, external parallel interval loop iteration is adopted between orbit loops in the calculation interval, and internal Picard iteration parallel calculation is performed for each orbit calculation segment in the orbit loop. After serializing all orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition, a Chebyshev matrix is calculated to obtain a Chebyshev coefficient matrix and a time vector.

[0025] In step 106, use a loop-changing program to move the orbit calculation segment to the perigee position of the next orbit period, and enter the next external parallel interval loop iteration step to perform internal Picard iteration parallel calculation and serial correction on all orbit calculation segments of the next segment interval until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft.

[0026] In step 108, after processing by interpolation according to the target orbit position and velocity vector and the data stored during the internal Picard iteration parallel calculation by multiple threads, an ephemeris file of orbit prediction is output.

[0027] In the above parallel Picard iteration spacecraft orbit prediction method, first, the scheme can adaptively determine the orbit prediction calculation parameters based on the initial configuration information of the spacecraft and scientifically divide the calculation interval. Within the calculation interval, external parallel interval cyclic iteration is adopted between orbit loops, which breaks the limitation of traditional serial calculation, allows the calculation tasks of different orbit loops to be carried out simultaneously, and fully utilizes the parallel processing ability of computing resources such as multi-core processors. In each orbit loop, internal Picard iteration parallel calculation is further performed on each orbit calculation segment, further refining and parallelizing the calculation tasks, and greatly improving the calculation efficiency. During the calculation process, serial correction is performed on all orbit calculation segments in the current external parallel interval cyclic iteration step according to the convergence condition to ensure the accuracy of the calculation results. At the same time, the Chebyshev coefficient matrix and the time vector are obtained by calculating the Chebyshev matrix, providing key data for subsequent orbit calculations. The orbit calculation segment is adjusted to the perigee position of the next orbit period by using the loop-changing program, and the internal Picard iteration parallel calculation and serial correction of the next external parallel interval cyclic iteration step are continuously carried out until the end time of the time vector reaches the end time of the initial configuration information, then the external parallel interval cyclic iteration is terminated, and then the target orbit position and velocity vector of the spacecraft are output. Finally, based on the target orbit position and velocity vector, combined with the data stored during the internal Picard iteration parallel calculation by multiple threads, the orbit prediction ephemeris file is output after interpolation processing. Through this series of calculation methods combining parallel and serial, the technical solution of the present invention fully utilizes the scattered computing resources, greatly improves the orbit prediction efficiency, and realizes the transformation from traditional low-efficiency serial calculation to high-efficiency parallel calculation.

[0028] In one embodiment, the initial configuration information set by the user is converted into orbit elements, and the position and velocity of the spacecraft at the perigee are calculated according to the orbit elements. The number of nodes and the number of orbit segments of each orbit are divided according to the position and velocity at the perigee and the constraint conditions of the initial configuration information. If the initial condition or the termination condition of the constraint condition is not at the start and end points of the predicted orbit segment, then after shortening the first orbit segment or the last orbit segment, and adjusting the number of nodes of the first orbit segment or the last orbit segment, the divided orbit segments are obtained. The time of one orbit period is added to each time vector according to the divided orbit segments and the number of orbit loops to obtain the calculation interval.

[0029] In one embodiment, external parallel interval cyclic iteration is adopted between each orbit segment in the calculation interval, threads are created for each orbit calculation segment in the calculation interval by using the OpenMP model, and Picard height matrix iteration parallel calculation is adopted in each thread to obtain the position-velocity vector to be corrected: ; ; ; Among them, 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, is the initial value matrix of the current orbit calculation segment, is the initial velocity matrix of the current orbit 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 non-linear term force matrix, is the Chebyshev function matrix. According to the convergence condition, an analytical serial algorithm is used to correct the to-be-corrected position-velocity vector corresponding to each iteration round of the orbit calculation segment, and the corrected position-velocity vector is obtained: ; Among them, is at the -th iteration of the orbit calculation segment corresponding to the position-velocity vector of the aircraft, is at the -th iteration of the orbit calculation segment corresponding to the position-velocity vector of the spacecraft, is the Picard iteration operator, is the analytical operator.

[0030] In one embodiment, according to the preset prediction time and the target position-velocity vector, the time division of the current orbit circle is calculated and extended to the next orbit circle, and the Chebyshev matrix of the orbit calculation segment is calculated to obtain the Chebyshev coefficient matrix and the time vector corresponding to the orbit calculation segment in the next orbit circle.

[0031] In one embodiment, a loop-changing procedure is used to adjust the orbit calculation segment to the perigee position of the next orbit 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 of any two collocation points changes from 360 degrees to 0 degrees, the perigee position is 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, the Picard iterative calculation is performed serially on the corrected position-velocity vector in parallel by multiple threads, and the iterative parameter array corresponding to the last Picard iteration in the last iteration round is saved until the end time of the time vector reaches the end time of the initial configuration information, and the external parallel interval loop iteration is terminated to obtain the target iterative parameter array. The Chebyshev polynomial value is calculated according to the target iterative parameter array, and the target orbital position and velocity vector of the spacecraft are output.

[0032] In one embodiment, the target orbital position and velocity vector and multiple threads perform the internal Picard iterative parallel calculation to obtain the initial velocity coefficient and position coefficient. A time point array is generated according to the time interval preset by the user, all the time points in the current orbit calculation segment are screened out from the time point array, and the screened time points are normalized. Each orbit calculation segment is traversed, the values of the Chebyshev polynomial at the normalized time points are calculated, and the values are respectively stored in the velocity matrix and the position matrix. Using matrix multiplication, the velocity interpolation result is calculated according to the velocity matrix and the initial velocity coefficient, and the position interpolation result is calculated according to the position matrix and the position coefficient to obtain the velocity interpolation and the position interpolation. The counter is updated according to the velocity interpolation and the position interpolation, and the target position-velocity vector is stored in the target array. After the internal Picard iterative parallel calculation of the orbit calculation segment is completed, the ephemeris file of the orbit prediction is output according to the target array and the time of each collocation point.

[0033] In one embodiment, a parallel Picard iterative spacecraft orbit prediction method is disclosed, which can output the high-precision ephemeris required during the entire prediction duration under the given orbit initial value, prediction duration, accuracy requirement, and output ephemeris interval. Refer to Figure 2 、 Figure 3 , the parallel Picard iterative spacecraft orbit prediction method in this embodiment specifically includes the following steps: Step 1, based on the accuracy requirement and initial conditions specified by the user, adaptively determine the calculation parameters of the algorithm and divide the calculation interval; calculate the Chebyshev matrix to provide basic data for subsequent iterative calculations.

[0034] For the specific implementation, we select an orbit with a relatively large eccentricity so that it can cover both high-orbit and low-orbit scenarios, which is general. The initial conditions are set as shown in Table 1: Table 1 Initial Condition Settings

[0035] The ordinary differential equation of the orbit to be solved is: ; Subsequently, the initial orbit conditions are converted into classical orbital elements, that is, the instantaneous orbital elements are converted as shown in Table 2: Table 2 Instantaneous Orbital Element Conversion

[0036] At this time, it is exactly the perigee. If it is not the perigee, the perigee time will be found by looking for the zero point of the true anomaly and used as the initial condition. Subsequently, parameter adaptation is carried out. First, the initial adaptation parameter is that the number of segments in one circle is 3, and the number of collocation points in one segment is 10.

[0037] According to such segmentation, Chebyshev functions of the same order are used to fit the nonlinear term function, and the error is calculated. The fitting process is the least squares approximation, and the formula is described as: ; ; Among them, is the Chebyshev basis function, is the CGL collocation point, defined as: ; ; Among them are the initial time and end time of each segment. The weight matrix is: .

[0038] The collocation point ( ) takes 10, and the segmentation ( ) takes 3, and the fitting error is: , which is less than the error specified by the user. Therefore, the value of the number of collocation points is increased until (According to experience, further increasing has limited improvement on the algorithm accuracy, while the increased algorithm burden will be relatively large), 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: Table 3 Iterative Process

[0039] Finally, confirm the number of segments and the number of collocation points per segment, that is, the order of the Chebyshev basis function. Subsequently, according to the number of user CPUs, select the length of the large parallel interval. Here, 5 orbits are selected. That is, after dividing one orbit into 11 segments according to the true anomaly, for each segment with a time vector of 40 collocation points according to CGL, directly expand it to 5 orbits according to the current orbital period.

[0040] Step 2, enter the large parallel interval loop. For each calculation segment, perform parallel Picard iteration calculations separately, and then serially correct all calculation segments in the large parallel interval until all calculation segments within the entire parallel interval meet the convergence conditions.

[0041] That is, adopt Figure 3 the execution direction. First, provide initial values for each collocation point on each initial segment through the Kepler / Vinti analytical method. In this example, for 5 orbits (at this time, one orbit is approximately equal to ), there are a total of seconds, and there are collocation points in total.

[0042] Subsequently, use OpenMP to start multiple threads. Each thread corresponds to one orbital segment, that is, threads. In each calculation segment, perform the Picard iteration operation. The formula is expressed as: ; Among them, the matrices , , are matrices related to Chebyshev fitting and Gaussian integration, which have been created in Step 1. , is the initial value matrix in this orbital segment. Each iteration mainly updates the non - linear term matrix , which is a matrix, and each row stores the forces acting on each collocation point in this orbital segment. That is: ; It needs to be obtained by calling the force function calculation model, which is the main source of the calculation burden. The model called 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, and the Picard iteration algorithm as operator. Both of these operators can obtain the last value of the current segment from the initial value of the current segment, that is, the initial value of the next segment. After the operator completes the calculation, use the operator again for update. The update formula is expressed as: ; wherein, i.e., the position - velocity vector to be solved, represents the initial value of a certain segment, and the subscript represents the number of iterations, and the superscript represents time, that is, the number of segments.

[0043] Repeat the above steps until convergence, that is, the infinity norm of two consecutive iterations in the entire calculation interval is reduced to the user - specified accuracy or the maximum number of iterations is reached: ; Step 3, set the initial value to the perigee position of the next orbital period through the loop - changing program and enter the next large parallel interval. Repeat the parallel iteration and serial correction processes in Step 2 until the prediction time reaches the user - specified time end point.

[0044] The purpose of the loop - changing program is to change the initial value of the next large interval to the perigee angle of the orbital period. Actually, after the orbital division in Step 1, the end time of the previous large interval is the perigee position of a whole circle in the sense of a certain analytical solution. However, due to the more complex perturbation function called by the Picard iteration prediction, there will be a certain deviation near the perigee at this moment. Due to the relevant characteristics of the orbit, it is very 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 collocation points therein. If the true anomaly of two collocation points changes from to suddenly, it can be judged that the perigee is between the two points, and the Secant non - linear method can be used to find the zero point of the function.

[0045] In this example, the start time of the next large parallel interval after loop - changing is: , and the time of the second loop - changing is , and calculate to the end point in the third large parallel interval.

[0046] Take 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 orbital segments of the next large interval and the initial time of each orbital segment.

[0047] Step 4, store the Chebyshev coefficient matrix and time vector obtained during the iteration process in a multi - thread. Interpolate the stored data and output the ephemeris file according to the user - specified time interval.

[0048] By initializing the time points: according to the user - specified time interval , generate a uniform time - point array from the initial time to the end time ​ 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 relevant variables, including the speed coefficient and the position coefficient . Determine time points: Filter out all time points within the current segment from and normalize these time points to the interval and store them in the array . Calculate Chebyshev polynomial values: Based on the normalized time points , calculate the values of the Chebyshev polynomial at these time points and store them in the Tv (for speed) and Tp (for position) matrices respectively. Interpolation calculation: Use matrix multiplication to combine Tv and Beta to calculate the speed interpolation result , and combine and Alpha to calculate the position interpolation result . Store the results: Store the interpolated speed and position data in the output array for use in subsequent steps.

[0049] Update the counter: After completing the interpolation calculation for each segment, update the counter to correctly store the results in the corresponding positions of the array.

[0050] It should be understood that although the steps in the flowchart of Figures 1-3 are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise clearly stated in this article, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figures 1-3 at least a part of the steps in

[0051] In one embodiment, as shown in Figure 6 , a parallel Picard iteration spacecraft orbit prediction device is provided, including: an orbit segment division module 602, a Chebyshev matrix acquisition module 604, a Picard iteration correction module 606, and an orbit prediction module 608, where: The orbit segment division module 602 is used to adaptively determine the calculation parameters for orbit prediction according to the initial configuration information set by the user and divide the calculation interval.

[0052] The Chebyshev matrix acquisition module 604 is configured to calculate the Chebyshev matrix by performing internal Picard iterative parallel calculations on each orbit calculation segment in the orbit circle while performing external parallel interval loop iterations between orbit circles in the interval, and after serializing all orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition, obtaining the Chebyshev coefficient matrix and the time vector.

[0053] The Picard iteration correction module 606 is configured to use the circle change program to adjust the orbit calculation segment to the perigee position of the next orbit period, enter the next external parallel interval loop iteration step to perform internal Picard iterative parallel calculations and serial corrections on all orbit calculation segments in the next interval segment until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft.

[0054] The orbit prediction module 608 is configured to output an ephemeris file for orbit prediction after processing the data stored during the internal Picard iterative parallel calculation according to the target orbit position and velocity vector and multiple threads by interpolation.

[0055] For the specific limitations of a parallel Picard iterative spacecraft orbit prediction device, reference may be made to the limitations of a parallel Picard iterative spacecraft orbit prediction method described above, which will not be elaborated here. Each module in the above parallel Picard iterative spacecraft orbit prediction device can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in the processor of the computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above modules.

[0056] In one embodiment, a computer device is provided. The computer device can be a terminal, and its internal structure diagram can be as Figure 7As shown in the figure. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected through a system bus. Among them, 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 the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, it realizes a parallel Picard iteration spacecraft orbit prediction method. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covered on the display screen, or a button, a trackball, or a touchpad set on the shell of the computer device, or an external keyboard, a touchpad, or a mouse, etc.

[0057] Those skilled in the art can understand that Figures 6-7 the structure shown in the figure is only a block diagram of some structures 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 those shown in the figure, or combine some components, or have different component arrangements.

[0058] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program. When the processor executes the computer program, the following steps are implemented: According to the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters of orbit prediction and divides the calculation interval.

[0059] In the calculation interval, external parallel interval loop iteration is adopted between orbit circles. For each orbit calculation segment in the orbit circle, internal Picard iteration parallel calculation is performed respectively. After serial correction of all orbit 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 the time vector.

[0060] Adopt a circle-changing program to adjust the orbit calculation segment to the perigee position of the next orbit period, enter the next external parallel interval loop iteration step, perform internal Picard iteration parallel calculation and serial correction on all orbit calculation segments of the next segment interval until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft.

[0061] After interpolation processing according to the target orbit position and velocity vector and the data stored during the internal Picard iteration parallel calculation by multiple threads, the ephemeris file of orbit prediction is output.

[0062] 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: According to the initial configuration information set by the user, the spacecraft adaptively determines the calculation parameters of orbit prediction and divides the calculation interval.

[0063] In the calculation interval, external parallel interval loop iteration is adopted between orbit circles. For each orbit calculation segment in the orbit circle, internal Picard iteration parallel calculation is respectively performed. After serial correction of all orbit 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 the time vector.

[0064] The orbit calculation segment is adjusted to the perigee position of the next orbit period by using a circle-changing program, and enters the next external parallel interval loop iteration step to perform internal Picard iteration 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.

[0065] After interpolation processing according to the target orbit position and velocity vector and the data stored during the internal Picard iteration parallel calculation by multiple threads, the ephemeris file of the orbit prediction is output.

[0066] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided by the present invention can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can 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 (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.

[0067] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, 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, it should be considered as the scope described in this specification.

[0068] The above-described embodiments merely represent several implementation manners of the present invention. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the invention. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several modifications and improvements can still be made, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the appended claims.

Claims

1. A parallel Picard iteration spacecraft orbit prediction method, characterized in that The method includes: The spacecraft adaptively determines the calculation parameters of orbit prediction according to the initial configuration information set by the user, and divides the calculation interval; In the calculation interval, external parallel interval loop iteration is adopted between orbit circles. For each orbit calculation segment in the orbit circle, internal Picard iteration parallel calculation is performed respectively. After serializing all the orbit 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 the time vector; The orbit calculation segment is adjusted to the perigee position of the next orbit period by using a circle-changing program, and internal Picard iteration parallel calculation and serial correction are performed on all the orbit calculation segments of the next segment interval in the next external parallel interval loop iteration step until the end time of the time vector reaches the end time of the initial configuration information, and the external parallel interval loop iteration is terminated, and the target orbit position and velocity vector of the spacecraft are output; After interpolation processing according to the target orbit position and velocity vector and the data stored during the internal Picard iteration parallel calculation by multiple threads, the ephemeris file of orbit prediction is output.

2. The method according to claim 1, wherein The spacecraft adaptively determines the calculation parameters of orbit prediction according to the initial configuration information set by the user, and divides the calculation interval, including: The initial configuration information set by the user is converted into orbit elements, and the position and velocity of the spacecraft at the perigee are calculated according to the orbit elements; According to the position and velocity at the perigee and the constraint conditions of the initial configuration information, the number of nodes and the number of orbit segments of each orbit are divided. If the initial condition or the termination condition of the constraint condition is not at the start and end points of the predicted orbit segment, then the first orbit segment or the last orbit segment is shortened, and the number of nodes of the first orbit segment or the last orbit segment is adjusted to obtain the divided orbit segments; According to the divided orbit segments and the number of orbit circles, the time of one orbit period is added to each time vector to obtain the calculation interval.

3. The method according to claim 1, wherein External parallel interval loop iteration is adopted between each orbit segment in the calculation interval. For each orbit calculation segment in the calculation interval, internal Picard iteration parallel calculation is performed respectively, and serializing all the orbit calculation segments in the current external parallel interval loop iteration step according to the convergence condition includes: External parallel interval loop iteration is adopted between each orbit segment in the calculation interval. The OpenMP model is used to create threads for each orbit calculation segment in the calculation interval. In each thread, Picard highly matrixed iteration parallel calculation is adopted to obtain the position-velocity vector to be corrected; Among them, 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, is the initial value matrix of the current orbit calculation segment, is the initial velocity matrix of the current orbit 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 non-linear term 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 orbit calculation segment in each iteration round to obtain the corrected position-velocity vector; wherein, is the position-velocity vector of the aircraft corresponding to the n-th iteration in the orbit calculation section, is the position-velocity vector of the spacecraft corresponding to the n-th iteration in the orbit calculation section, is the Picard iteration operator, is the analytical operator.

4. The method according to claim 3, wherein Calculating the Chebyshev matrix to obtain the Chebyshev coefficient matrix and the time vector, including: Calculate the time division of the current orbit circle according to the preset prediction time and the position-velocity vector, and expand it to the next orbit circle. Calculate the Chebyshev matrix of the orbit calculation segment to obtain the Chebyshev coefficient matrix and time vector corresponding to the orbit calculation segment in the next orbit circle.

5. The method according to claim 4, wherein Use the circle-changing program to move the orbit calculation segment to the perigee position of the next orbit period, and enter the next external parallel interval loop iteration step to perform internal Picard iterative parallel calculation and serial correction on all orbit calculation segments of the next segment of the interval until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and output the target orbit position and velocity vector of the spacecraft, including: Use the circle-changing program to move the orbit calculation segment to the perigee position of the next orbit period, select the last orbit calculation segment of the current external interval to calculate the instantaneous orbit elements of all collocation points. If the true anomaly of any two collocation points changes from 360 degrees to 0 degrees, the position between the two collocation points is the perigee position, and use the NewtonScant nonlinear technique to obtain the target orbit position and velocity vector of the spacecraft corresponding to the zero point of the function; otherwise, perform Picard iterative calculation and serial correction on the corrected position-velocity vector in parallel for multiple threads, and save the iteration parameter array corresponding to the last Picard iteration in the last iteration round until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval loop iteration, and obtain the target iteration parameter array; Calculate the Chebyshev polynomial value according to the target iteration parameter array, and output the target orbit position and velocity vector of the spacecraft.

6. The method according to claim 5, wherein After processing the data stored during the internal Picard iterative parallel calculation according to the target orbit position and velocity vector and multiple threads by interpolation, output the ephemeris file of orbit prediction, including: The internal Picard iterative parallel calculation is performed on the target orbit position and velocity vector and multiple threads to obtain the initial velocity coefficient and position coefficient; Generate an array of time points according to the time interval preset by the user, filter out all time points in the current orbit calculation segment from the array of time points, and normalize the filtered time points; Traverse each orbit calculation segment, calculate the values of the Chebyshev polynomial at the normalized time points, and store the values in the velocity matrix and position matrix respectively; Use matrix multiplication to calculate the velocity interpolation result according to the velocity matrix and the initial velocity coefficient, and calculate the position interpolation result according to the position matrix and the position coefficient to obtain velocity interpolation and position interpolation; Update the counter according to the velocity interpolation and the position interpolation, and store the target position-velocity vector in the target array; After the internal Picard iterative parallel calculation of the orbit calculation segment is completed, output the ephemeris file of orbit prediction according to the target array and the time of each collocation point.

7. A parallel Picard iteration spacecraft orbit prediction device, characterized in that, The device includes: An orbital segment division module, which is used to adaptively determine the calculation parameters for orbit prediction of a spacecraft according to the initial configuration information set by a user, and divide the calculation interval; A Chebyshev matrix acquisition module, which is used to perform external parallel interval cyclic iteration between orbital loops in the calculation interval, perform internal Picard iterative parallel calculation for each orbital calculation segment in the orbital loop, and calculate the Chebyshev matrix after serializing all the orbital calculation segments in the current external parallel interval cyclic iteration step according to the convergence condition, so as to obtain a Chebyshev coefficient matrix and a time vector; A Picard iteration correction module, which is used to use a loop change program to adjust the orbital calculation segment to the perigee position of the next orbital period, enter the next external parallel interval cyclic iteration step to perform internal Picard iterative parallel calculation and serial correction on all the orbital calculation segments in the next segment interval, until the end time of the time vector reaches the end time of the initial configuration information, terminate the external parallel interval cyclic iteration, and output the target orbital position and velocity vector of the spacecraft; An orbit prediction module, which is used to output an ephemeris file for orbit prediction after interpolation processing according to the target orbital position and velocity vector and the data stored during the internal Picard iterative parallel calculation by multiple threads.

Citation Information

Patent Citations

  • Optimization method for spacecraft iterative guidance

    CN106250625A

  • Spacecraft precision orbit determination parallel processing method

    CN114817832A

  • Inertial navigation resolving method and system based on matrix form function iteration

    CN114996652A

  • Track prediction method based on adaptive Legendre Picatar iteration method

    CN115204449A

  • Method for automatically calculating controlled quantity under constraint of customized holding ring

    CN115610705A