A method for obtaining orbit change maneuver parameters based on orbit change knowledge base and memory file mapping
Through the method based on the orbit change knowledge base and memory file mapping, the problem of low computing efficiency of spacecraft orbit change process in the existing technology is solved, and the method of quickly obtaining Lambert orbit change maneuvering parameters is realized, and the computing speed and storage efficiency are improved.
Patent Information
- Application Number
- CN202311002675.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-09
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2043-08-09
AI Technical Summary
When optimizing the planning of many-to-many service missions in the solution space, the prior art involves a large number of spacecraft orbital calculations, resulting in limited computer computing speed, especially in the case of Lambert maneuvering and perturbation, the solution efficiency is very low.
Using a method based on orbital change knowledge base and memory file mapping, the orbit change knowledge base is generated offline and converted into character storage, and the memory file map is loaded and decoded to achieve rapid acquisition of the spacecraft Lambert orbit maneuver parameters.
It improves the computing speed, reduces the use of online computing memory, improves storage efficiency and query efficiency, and ensures the accuracy of query results.
Smart Images

Figure CN117033659B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a method for acquiring orbit change maneuvering parameters based on an orbit change knowledge base and memory file mapping. Background Art
[0002] At present, the number of satellites and spacecraft in orbit is already very large. According to statistics, as of December 31, 2021, there are 574 satellites in geosynchronous orbit (GEO) alone, including high-value space equipment such as communication satellites. As an important technology, on-orbit servicing (OOS) can provide services such as refueling, on-orbit maintenance, component upgrades, and clear space debris for various spacecraft, and has been widely used in space. In order to coordinate the planning of multiple tasks in space, it is necessary to analyze and calculate the service process of multiple service spacecraft to determine the execution units, execution order, and orbit change process of multiple tasks.
[0003] For many-to-many service mission planning, the common solution is to establish a mathematical model and then apply the optimization algorithm to solve the problem, that is, to determine the optimization variables that represent the distribution relationship, execution order, and orbit change process. Common maneuvering orbits for spacecraft include Hohmann orbit change, out-of-plane orbit change, phase adjustment maneuver, Lambert maneuver, etc. In the optimization solution process, a large number of spacecraft orbit change process calculations are involved, which poses a challenge to the computer's computing speed, especially in the case of Lambert maneuvers and perturbations, the solution efficiency is very low. Summary of the invention
[0004] The purpose of the present invention is to solve the problem that the existing many-to-many service mission planning in space involves a large number of spacecraft orbit change process calculations in the optimization solution process, which poses a challenge to the computer's computing speed, especially the Lambert maneuver and the problem of low solution efficiency when considering perturbations. A method for obtaining orbit change maneuver parameters based on an orbit change knowledge base and memory file mapping is proposed.
[0005] A method for obtaining orbit change maneuver parameters based on orbit change knowledge base and memory file mapping has the following specific process:
[0006] Step 1: Generate an offline track change knowledge base;
[0007] Step 2: Combine the ASCII comparison table to build the coding rules, and convert the offline track change knowledge base generated in step 1 into a track change knowledge base stored in character form, with the file format being txt;
[0008] Step 3: Load the orbit change knowledge base stored in character form obtained in step 2 through the memory file mapping method, and obtain the spacecraft Lambert orbit change maneuver parameters according to the decoding rules.
[0009] The beneficial effects of the present invention are:
[0010] 1) By establishing an offline knowledge base, online task planning does not need to solve the Lambert equation and perturbation correction, which improves the calculation speed.
[0011] 2) Converting numerical values into character storage by encoding and transcoding improves storage efficiency and reduces the amount of offline knowledge base data.
[0012] 3) Through interpolation, coordinate system conversion and other methods, the amount of offline knowledge base data is reduced while making the online query results as accurate as possible.
[0013] 4) Improve query efficiency by using memory file mapping without increasing online computing memory usage. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 It is a flow chart of the present invention;
[0015] Figure 2-1 This is the relationship diagram between speed increment consumption and track change time;
[0016] Figure 2-2 The relationship between velocity component and phase angle difference
[0017] Figure 2-3 It is the relationship diagram between velocity component and duration of track change constraint;
[0018] Figure 3 Transfer map for Lambert;
[0019] Figure 4 This is the memory mapping schematic;
[0020] Figure 5 It is an ASCII comparison table;
[0021] Figure 6 This is the flow chart of particle swarm optimization algorithm;
[0022] Figure 7 This is a graph showing the relationship between consumption speed increment and number of iterations. DETAILED DESCRIPTION
[0023] Specific implementation method 1: This implementation method is a method for obtaining trajectory maneuver parameters based on trajectory change knowledge base and memory file mapping. The specific process is as follows:
[0024] Scenario Assumptions
[0025] In a spacecraft on-orbit service planning mission for a GEO orbit, all spacecraft are on coplanar circular orbits with the target and have approximately the same orbital altitude. Now it is necessary to consider the total execution time constraint of the mission and the remaining fuel of each spacecraft, and quickly solve the optimal planning scheme through optimization algorithm within a limited time. A large number of iterative calculation processes of orbit change costs require the ability to quickly obtain one-to-one orbit maneuver parameters.
[0026] Step 1, offline stage: generate offline track change knowledge base;
[0027] Step 2, offline stage: Combine the ASCII comparison table to build the coding rules, and convert the offline track change knowledge base generated in step 1 into a track change knowledge base stored in character form, with the file format of txt;
[0028] Step 3, online stage: load the orbit change knowledge base stored in character form obtained in step 2 through the memory file mapping method, and quickly obtain the spacecraft Lambert orbit change maneuver parameters according to the decoding rules.
[0029] Specific implementation method 2: This implementation method is different from the specific implementation method 1 in that an offline track change knowledge base is generated in step 1; the specific process is as follows:
[0030] Step 1: If the duration of the track change constraint is less than 24 hours (including 24 hours), consider one case every 1 minute (execute the calculation of Step 2 and Step 3 once); if it is more than 24 hours, consider one case every 1 hour (starting from 25 hours), and the duration of the track change constraint is taken from small to large;
[0031] Step 2: The GEO orbit radius is 42164169 m. Consider the spacecraft and target parameters as follows:
[0032]
[0033] Consider one case every degree from -179° (perform the calculation of step 3 once), Take values from small to large;
[0034] Among them, a s is the semi-major axis of the spacecraft orbit, e s is the spacecraft orbit eccentricity, i s is the spacecraft orbit inclination, Ω s is the right ascension of the ascending node of the spacecraft orbit, ω s is the spacecraft orbit perigee argument, M s is the mean anomaly angle of the spacecraft orbit, a t is the semi-major axis of the target orbit, e t is the target orbit eccentricity, it is the target orbit inclination, Ω t is the right ascension of the ascending node of the target orbit, ω t is the target orbit perigee argument, M t is the mean anomaly angle of the target orbit, is the phase angle difference;
[0035] Step 3: Under the given orbit change constraint duration, spacecraft and target parameters, From -179° to 180°, the phase angle difference is obtained by optimizing the algorithm ( From -179° to 180° at one degree interval, corresponding to 360 cases) the number of orbit change circles with the minimum speed increment consumption, the orbit change duration, the x-axis component of the first speed pulse (expressed in the J2000 coordinate system), the y-axis component of the first speed pulse (expressed in the J2000 coordinate system), the x-axis component of the second speed pulse (expressed in the J2000 coordinate system), the y-axis component of the second speed pulse (expressed in the J2000 coordinate system), and each iteration (iteration of the particle swarm optimization process) calculation process considers the influence of the perturbation force for iteration (iteration considering the correction of the perturbation force influence) correction;
[0036] Until the track change constraint duration reaches the maximum value required by the indicator;
[0037] The value of the track change duration is within the range of the track change constraint duration;
[0038] Considering that the phase angle difference is 1° at intervals, there are 360 sets of data in total, and the track change constraint time starts from 1 minute and increases by 1 minute, and after 24 hours, it increases by 1 hour;
[0039] When the orbit change constraint duration is 1 minute, the first line in the file represents the spacecraft Lambert orbit change maneuver parameters with a phase angle difference of -179° (i.e., a set of Lambert orbit change parameter optimization results), and the second line represents the spacecraft Lambert orbit change maneuver parameters with a phase angle difference of -178°, and so on; after 360 sets of data with a 1-minute orbit change constraint duration are stored, the spacecraft Lambert orbit change maneuver parameters with a 2-minute orbit change constraint duration are stored, and so on, to generate an offline orbit change knowledge base;
[0040] The spacecraft Lambert orbit change maneuver parameters are the orbit change circles, orbit change duration, first velocity pulse x-axis component (expressed in J2000 coordinate system), first velocity pulse y-axis component (expressed in J2000 coordinate system), second velocity pulse x-axis component (expressed in J2000 coordinate system), and second velocity pulse y-axis component (expressed in J2000 coordinate system) obtained by the optimization algorithm under each phase angle difference condition with the minimum velocity increment consumption;
[0041] The optimization algorithm can adopt the particle swarm optimization algorithm, and the overall objective function is to minimize the speed increment consumption:
[0042] J = min (Δv) (2)
[0043] Where Δv is the velocity increment that can be generated by the remaining fuel of the spacecraft;
[0044] The position and speed of the particle group are expressed in terms of the duration of the orbit change, and the fitness value is the incremental consumption value of the Lambert transfer orbit speed under the corresponding orbit change duration;
[0045] (Considering the duration constraint 24*60+96)×(Considering the phase angle difference 360), a total of 552960 step3 calculations (a total of 5 days);
[0046] In Step 3, the optimization algorithm can be used to obtain the one-to-one Lambert track change parameters with the minimum consumption of each set of speed increments. The specific format is shown in Table 2-1.
[0047] Table 2-1 Track change parameter optimization results
[0048]
[0049] In Step 3, since the orbital parameters of both parties are designed to have no inclination during the calculation process, the z-axis components of the two pulse velocities in the maneuvering parameters are both zero and do not need to be used for subsequent coding storage and analysis. The duration constraint and phase angle difference of the orbit change are reflected by the number of data rows and do not need to be stored. They are introduced in detail in Step 3.
[0050] In order to improve the calculation efficiency during optimization in Step 3, the variable search range can be reduced, the phase angle difference is -60°, and the speed increment consumption is plotted as the change of track change time is shown in the figure: Figure 2-1 As shown;
[0051] Figure 2-1 In order to show the curve graph effect, the speed increment consumption is set to 10000m / s when there is no solution. Each trough section corresponds to the phase adjustment orbit. The duration of the first trough section is related to the phase angle difference, and the corresponding GEO orbit does not exceed 24h. The speed increment consumption of each trough gradually decreases with the increase of the orbit change duration. Therefore, in the process of speed increment optimization, it is only necessary to consider the analysis of the last 24 hours close to the orbit change constraint duration.
[0052] The other steps and parameters are the same as those in the first embodiment.
[0053] Specific implementation method three: This implementation method is different from specific implementation methods one or two in that the position boundary condition in the optimization algorithm is taken as:
[0054]
[0055] The velocity boundary condition in the optimization algorithm is taken as:
[0056]
[0057] Among them, x is the position in the optimization algorithm (particle position in the particle swarm algorithm), T0 is the duration of the trajectory change constraint, and T min Analyze the minimum duration boundary for the optimization algorithm (particle swarm algorithm), T cycle is the GEO orbit period;
[0058] In Step 3, if the accuracy of the planning results is not high, the perturbation iteration correction process can be omitted.
[0059] Considering the limited storage and computing power in practice, Step 1 and Step 2 perform discrete value calculations for different duration constraints and phase angle differences. Taking the duration constraint of the orbit change as 120h, plot the relationship curve between the orbit change parameters and the phase angle difference, as shown in Figure 2-2 :
[0060] Take the phase angle difference as 60°, take the orbit change constraint time of 0-120h, and draw the relationship curve between the orbit change parameters and the orbit change constraint time, as shown in Figure 2-3 :
[0061] from Figure 2-2 , Figure 2-3 It can be found that the curves are approximately linear, so with limited data, they can be approximated by interpolation. Figure 2-3 The subsequent changes are small, so when calculating offline, the time constraints can be taken as 1 minute intervals below 24 hours, 1 hour intervals above 24 hours, and 1° intervals of phase angle difference for optimization calculation.
[0062] The other steps and parameters are the same as those in the first or second embodiment.
[0063] Specific implementation method 4: This implementation method is different from any one of specific implementation methods 1 to 3 in that the optimization algorithm is a particle swarm algorithm.
[0064] The other steps and parameters are the same as those in Specific Embodiments 1 to 3.
[0065] Specific implementation method 5: This implementation method is different from any one of specific implementation methods 1 to 4 in that in step 2, the coding rules are constructed in combination with the ASCII comparison table, and the offline track change knowledge base generated in step 1 is converted into a track change knowledge base stored in the form of characters, and the file format is txt; the specific process is:
[0066] Considering that non-printing control characters are displayed and output abnormally when outputting files, and both 32 and 127 are output as spaces during actual use, only 95 different characters from 32 to 126 are used when converting to character storage, and the original data is stored in 95-base.
[0067] The rules for adding bets are as follows:
[0068]
[0069] Among them, p0 represents the original data, that is, the spacecraft Lambert orbit maneuver parameters, c1 represents the first character, c2 represents the second character, c3 represents the third character, c4 represents the fourth character, and c k represents the kth character, n1 represents the decimal value corresponding to the first character, n2 represents the decimal value corresponding to the second character, n3 represents the decimal value corresponding to the third character, n4 represents the decimal value corresponding to the fourth character, and n k represents the decimal value corresponding to the kth character, σ represents the precision (the first decimal place is 0.1, the last two decimal places are 0.01, and so on), β represents the relationship between the addition rules, which is taken as 95 in this patent; f(n k ) represents the conversion relationship between characters and decimal values in the ASCII comparison table, which can be achieved by forced conversion of char type in code implementation;
[0070] 1) For the track change duration data, considering that the track change time will not be too long in actual use, it is represented by four characters, that is, k is 4, which can represent 95 4 The accuracy is 0.1s, that is, σ is 0.1, which can cover the orbit change duration information of less than 94.27 days.
[0071] 2) The number of track change circles is represented by one character, that is, k is 1, which can represent 1-95 circles, and σ is 1;
[0072] 3) For the x-axis component of the first velocity pulse (J2000 coordinate system), considering that the value will not be too large in practice, it can also be represented by 4 characters, with the accuracy retained to four decimal places, that is, k is 4 and σ is 0.0001;
[0073] For the y-axis component of the first velocity pulse (J2000 coordinate system), considering that the value will not be too large in practice, it can also be represented by 4 characters, with the accuracy retained to four decimal places, that is, k is 4 and σ is 0.0001;
[0074] For the x-axis component of the second velocity pulse (J2000 coordinate system), considering that the value will not be too large in practice, it can also be represented by 4 characters with the accuracy retained to four decimal places, that is, k is 4 and σ is 0.0001;
[0075] For the y-axis component of the second velocity pulse (J2000 coordinate system), considering that the value will not be too large in practice, it can also be represented by 4 characters with the accuracy retained to four decimal places, that is, k is 4 and σ is 0.0001;
[0076] In summary, each line of data in the offline orbit change knowledge base generated in step 1 occupies 21 characters, which are called original orbit change maneuver parameters, plus 1 line break, a total of 22 characters.
[0077] Considering 360 different phase angle differences, each track change constraint duration occupies a total of 7920 characters.
[0078] If considering the analysis of orbit change tasks within 30 days, a group of 1 minute is selected within 24 hours, and a group of 1 hour is selected for more than 24 hours, which occupies about 16.1MB.
[0079] It should be noted that since the original data p0 contains negative numbers, the value of the original data p0 can be added with 4072.5312 before being stored in the added code, thereby representing the speed increment information from -4072.5312 m / s to 4072.5312 m / s.
[0080] The other steps and parameters are the same as those in Specific Embodiments 1 to 4.
[0081] Specific implementation method 6: This implementation method is different from any one of specific implementation methods 1 to 5 in that in step 3, the orbit change knowledge base stored in character form obtained in step 2 is loaded by a memory file mapping method, and the spacecraft Lambert orbit change maneuver parameter acquisition is realized quickly according to the decoding rules; the specific process is:
[0082] Step 31: After establishing the track change knowledge base stored in character form, first map the track change knowledge base in txt format to the virtual memory through memory file mapping;
[0083] Step 32: When it is necessary to query the spacecraft Lambert orbit change maneuver parameters online, first consider the spacecraft residual velocity increment;
[0084] Step 3. Then, according to the given orbit change constraint time T0 and the relative phase angle difference between the spacecraft and the target, Obtaining the spacecraft Lambert orbit change maneuver parameters with the minimum velocity increment consumption by interpolation Including the track change time t, track change number n c , the first pulse velocity vector Δv1 (J2000 coordinate system), the second pulse velocity vector Δv2 (J2000 coordinate system).
[0085] The other steps and parameters are the same as those in Specific Implementation Methods 1 to 5.
[0086] Specific implementation method 7: This implementation method is different from one of specific implementation methods 1 to 6 in that the remaining velocity increment of the spacecraft in step 32 can be obtained from the remaining fuel by an approximate formula:
[0087]
[0088] Among them, m f Indicates the remaining fuel mass, m t represents the remaining mass of the spacecraft (including fuel), I sp represents the specific thrust of the fuel, g0 represents the standard gravitational acceleration at sea level, and Δv represents the velocity increment that can be generated by the remaining fuel in the spacecraft.
[0089] The other steps and parameters are the same as those in Specific Embodiments 1 to 6.
[0090] Specific implementation eight: This implementation differs from specific implementations one to seven in that in step three, the orbit change constraint time T0 given by the mission, the relative phase angle difference between the spacecraft and the target Obtaining the spacecraft Lambert orbit change maneuver parameters with the minimum velocity increment consumption by interpolation Including the duration of track change and the number of track change circles n c , the first pulse velocity vector Δv1 (J2000 coordinate system), the second pulse velocity vector Δv2 (J2000 coordinate system); the specific method is:
[0091] 1) Obtain the phase angle difference in the track change knowledge base The difference between the two most recent phase angles and
[0092]
[0093]
[0094] in, Indicates rounding down. Indicates rounding up;
[0095] 2) Obtain the two closest trajectory change constraint duration values T1 and T2 to the trajectory change constraint duration T0 in the trajectory change knowledge base:
[0096]
[0097]
[0098] Among them, * represents the multiplication sign;
[0099] When the duration of the track change constraint is less than 24 hours, the above formula is rounded to the integer of seconds; otherwise, it is rounded to the integer of hours;
[0100] 3) Take the duration value of the orbit change constraint T1, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under
[0101] 4) Take the duration value of the orbit change constraint T1, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under
[0102] 5) Interpolation is used to obtain the duration value T1 of the track change constraint, and the phase angle difference is The original trajectory maneuver parameters under
[0103]
[0104] 6) Take the duration value of the orbit change constraint T2, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under
[0105] 7) Take the duration of the orbit change constraint T2, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under
[0106] 8) Interpolation is used to obtain the duration of the track change constraint T2, and the phase angle difference is The original trajectory maneuver parameters under
[0107]
[0108] 9) Interpolation is used to obtain the duration of the track change constraint T0, and the phase angle difference is The original trajectory maneuver parameters under
[0109]
[0110] 10) The duration of the track change constraint T0 is obtained through the coordinate system conversion rule, and the phase angle difference is Lambert maneuver parameters of spacecraft under (obtained by formulas 14 and 15);
[0111] Determine the obtained spacecraft Lambert orbit maneuver parameters Is the speed increment consumed less than the speed increment that the spacecraft can generate? If so, the fuel requirement is met; otherwise, the fuel requirement is not met (the Lambert maneuver mission cannot be achieved).
[0112] The other steps and parameters are the same as those in Specific Embodiments 1 to 7.
[0113] Specific implementation method 9: This implementation method is different from any one of specific implementation methods 1 to 8 in that the decoding rule is defined as finding the number of rows in the track change knowledge base stored in character form obtained in step 2 according to the task track change constraint duration and phase angle difference;
[0114] Decode the characters in the line according to formula (12) to obtain the orbit change maneuver parameters;
[0115] Specifically:
[0116]
[0117] The first to fourth characters represent the duration of the orbit change, σ is 0.1, β is 95, and k is 4. Substituting them into formula (12) yields the orbit change duration data;
[0118] The fifth character represents the number of orbit change cycles, σ is 1, β is 95, and k is 1. Substituting into formula (12) we can get the orbit change cycle data;
[0119] The 6th to 9th characters represent the x-axis component of the first velocity pulse (J2000 coordinate system), σ is 0.0001, β is 95, k is 4 and is substituted into formula (12) to obtain the data of the x-axis component of the first velocity pulse (J2000 coordinate system);
[0120] The 10th to 13th characters represent the y-axis component of the first velocity pulse (J2000 coordinate system), σ is 0.0001, β is 95, k is 4 and is substituted into formula (12) to obtain the data of the y-axis component of the first velocity pulse (J2000 coordinate system);
[0121] The 14th to 17th characters represent the x-axis component of the second velocity pulse (J2000 coordinate system), σ is 0.0001, β is 95, k is 4 and is substituted into formula (12) to obtain the data of the x-axis component of the second velocity pulse (J2000 coordinate system);
[0122] The 18th to 21st characters represent the y-axis component of the second velocity pulse (J2000 coordinate system), σ is taken as 0.0001, β is taken as 95, k is taken as 4 and is substituted into formula (12) to obtain the data of the y-axis component of the second velocity pulse (J2000 coordinate system).
[0123] The other steps and parameters are the same as those in Specific Embodiments 1 to 8.
[0124] Specific implementation method 10: The difference between this implementation method and any one of the specific implementation methods 1 to 9 is that in the above 10), the track change constraint duration value T0 is obtained by the coordinate system conversion rule, and the phase angle difference is Lambert maneuver parameters of spacecraft under (obtained by formulas 14 and 15); the specific process is:
[0125] The constraint duration value is T0, and the phase angle difference is The original orbit change parameters under the condition include orbit change time t, orbit change number n c , the x-axis component of the first velocity pulse (J2000 coordinate system) v 1x , the y-axis component of the first velocity pulse (J2000 coordinate system) v 1y , the x-axis component of the second velocity pulse (J2000 coordinate system) v 2x , the y-axis component of the second velocity pulse (J2000 coordinate system) v 2y ;
[0126] Since the real Earth GEO orbit has many inclinations, the right ascension of the ascending node is not zero, and the initial mean anomaly angle of the spacecraft is not zero, in order to ensure the universality of the knowledge base, the six numbers of the spacecraft orbit are set as:
[0127] a s =42164169m,e s =0,i s ≠0°,Ω s ≠0°,ω s =0°,M s ≠0° (13)
[0128] The duration value T0 of the track change constraint is obtained through the coordinate system conversion rule, and the phase angle difference is Lambert maneuver parameters of spacecraft under The duration of track change and the number of track change circles n c The first velocity pulse vector Δv1 (J2000 coordinate system) is unchanged:
[0129] b 01 = sin(i s )sin(Ω s ),b 02 =-sin(i s )cos(Ω s ),b 03 = cos(i s )
[0130] b 11 =v 1x ,b 12 = cos(i s)v 1y ,b 13 = sin(i s )v 1y ,
[0131] b 21 =cos(Ω s )b 11 -sin(Ω s )b 12 ,b 22 = sin(Ω s )b 11 +cos(Ω s )b 12 ,b 23 =b 13 ,
[0132]
[0133] Among them, b 01 、b 02 、b 03 、b 11 、b 12 、b 13 、b 21 、b 22 、b 23 is the intermediate parameter;
[0134] The six numbers of the spacecraft orbit in formula 14 are from formula 13;
[0135] Similarly, the second velocity pulse vector Δv2 (J2000 coordinate system) is:
[0136] b 01 = sin(i s )sin(Ω s ),b 02 = -sin(i s )cos(Ω s ),b 03 = cos(i s )
[0137] b 11 =v 2x ,b 12 =cos(i s )v 2y ,b 13 = sin(i s )v 2y ,
[0138] b 21 =cos(Ω s )b 11 -sin(Ωs )b 12 ,b 22 = sin(Ω s )b 11 +cos(Ω s )b 12 ,b 23 =b 13 ,
[0139]
[0140] The six numbers of the spacecraft orbit in Formula 14 are based on Formula 13.
[0141] The other steps and parameters are the same as those in Specific Embodiments 1 to 9.
[0142] Related technologies
[0143] Transfer orbit - Lambert maneuver
[0144] Through the Lambert maneuver, the orbit transfer of a spacecraft between any two points in space can be achieved, such as Figure 3 As shown, orbit ① is the original orbit of spacecraft A and target B. Through the Lambert maneuver process ②, spacecraft A intersects with the target at C, thus completing the long-distance approach process.
[0145] The mathematical equation of Lambert's track change process can be expressed as:
[0146] (v A ,v C )=f(r A ,r C ,t) (1-1)
[0147] In formula (1-1), the position vectors of the two points before and after the transfer are r A With r C , the speed is v A With v C , the duration of the orbit transfer process is t. The analytical solution of formula (1-1) is obtained by numerical iteration method. The relationship between the position vector r of the space object, the orbital velocity v0 and the six elements of the orbit φ is:
[0148] (v0,r)=f(φ) (1-2)
[0149] Therefore, the speed increment consumption of Lambert transfer process can be expressed as:
[0150] Δv=|v A -v A0 |+|v C -v C0 | (1-3)
[0151] If r A With r C If the orbits are the same, it is a special case of a phase adjustment maneuver, and the spacecraft leaves and returns to the same orbit.
[0152] High-precision perturbation model correction
[0153] For objects moving in space, in addition to being affected by gravity, they are also affected by various perturbations in practice. A high-precision orbital model can be expressed as:
[0154]
[0155] Where r is the object position vector, a TBP is the three-body perturbation acceleration, a NSP is the non-spherical perturbation acceleration of the Earth, a ADP is the atmospheric drag perturbation acceleration, a F The acceleration provided by the external thrust of the fuel. For GEO orbit satellites, the main consideration is a NSP The perturbation coefficient of the J2 term in .
[0156] When performing the perturbation force correction, it is necessary to calculate the initial and final velocities v according to formula (1-1) A With v C , the output speed v A Substitute the perturbation acceleration formula for recursion and compare the final recursive position vector r′ C and the target position vector r C Deviation value, negative feedback adjustment formula (1-1) during the calculation process of the target virtual position vector, iterate this process until the deviation value is less than the threshold, and take the final state v Af With v Cf , which is the corrected Lambert motion speed.
[0157] Memory file mapping
[0158] Memory-mapped files are a file processing method that maps a file to a piece of memory, so that processing hard disk files is just like operating memory. Especially when processing large files, the efficiency is much higher than traditional IO.
[0159] like Figure 4As shown in the figure, the physical memory of the memory file mapping comes from a file that already exists on the hard disk. It is first mapped to the physical memory and then mapped to the virtual memory. A one-to-one correspondence is established between the virtual address space and the hard disk address space, and a logical space of equal size is allocated to the file in the logical address space. In this way, there is no need to open and close the file every time. In the process of file mapping, the original data is not copied, and the file is not put into the memory, but only logically put into the memory. In this way, the memory usage will not increase significantly when the program is running while ensuring relatively high efficiency, which is very friendly to the processing of large files.
[0160] Specifically at the code level, it can be implemented through mmap function calls on Linux systems and through function calls in the Windows API on Windows systems.
[0161] ASCII
[0162] ASCII is the abbreviation of American Standard Code for Information Interchange. ASCII code is the most common computer encoding standard. The last update was in 1986. So far, a total of 128 characters have been defined. Figure 5 shown.
[0163] Particle Swarm Optimization
[0164] Optimization problem refers to finding the best result parameter value under certain constraints to achieve the best single or multiple indicators. At present, there are many intelligent optimization algorithms used to solve complex optimization problems, including evolutionary algorithms, swarm intelligence algorithms, neural network algorithms, etc. Particle swarm optimization, as an important branch of swarm intelligence algorithms, has been widely used in the industry.
[0165] The particle swarm optimization (PSO) algorithm was originally proposed by Kennedy and Eberhart, who were inspired by the results of artificial life research and simulated the migration and flocking behavior of bird flocks during foraging. It is essentially a global random search algorithm that can converge to the global optimal solution with a high probability. Like other evolutionary algorithms, the particle swarm algorithm is also based on the concepts of "population" and "evolution". It searches for the optimal solution in a complex space through cooperation and competition between individuals. At the same time, unlike other evolutionary algorithms, it does not perform evolutionary operator operations such as crossover, mutation, and selection on individuals. Instead, it regards individuals in the group as particles without mass and volume in a D-dimensional search space. Each particle moves in the solution space at a certain speed and moves toward its own historical best position p. best and the best historical location g of the neighborhood bestAggregation, to achieve the evolution of candidate solutions. Particle swarm optimization is easy to understand because of its good biological and social background, and easy to implement because of its small number of parameters. It has received extensive attention in scientific research and engineering practice. Figure 6 :
[0166] Symbol definition table
[0167]
[0168]
[0169]
[0170] The following examples are used to verify the beneficial effects of the present invention:
[0171] Embodiment 1:
[0172] (1) In the Lambert maneuver strategy calculation, the particle swarm algorithm related parameters are:
[0173] Table 3-1 Algorithm test parameters
[0174]
[0175]
[0176] In the algorithm, the inertia weight decreases linearly from the maximum value as the number of iterations increases. The change time constraint is 120h and the phase angle difference is 60°. Compared with the enumeration method with an interval of 1s, the fitness change curve is as follows: Figure 7 As shown:
[0177] from Figure 7 It can be seen that compared with the enumeration method, the particle swarm optimization algorithm can obtain a one-to-one Lambert maneuver strategy with the minimum speed increment consumption (optimal fuel) at a lower computational cost.
[0178] (2) Assuming the orbit change duration is 120 h, the phase angle difference is 60°, and the six numbers between the spacecraft and the target orbit are:
[0179] a s =42164169m,e s =0,i s =30°,Ω s =60°,ω s =0°,M s =0°
[0180] a t =42164169m,e t =0,i t =30°,Ω t =60°,ωt =0°,M t =60° (3-1)
[0181] The optimal fuel maneuvering strategy was queried 1,000,000 times under the Windows operating system. The simulation test was completed on a personal PC with an Intel Core i5-10210U@1.6GHz CPU and 16GB memory. The query method based on the track change knowledge base in txt format and memory file mapping was implemented in Visual Studio 2015. The 64-bit Release mode test took 60.098s, and the query efficiency was extremely high.
[0182] The present invention may also have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art may make various corresponding changes and modifications based on the present invention, but these corresponding changes and modifications should all fall within the scope of protection of the claims attached to the present invention.
Claims
1. A method for obtaining orbit change maneuver parameters based on orbit change knowledge base and memory file mapping, characterized in that: The specific process of the method is: Step 1: Generate an offline track change knowledge base; Step 2: Combine the ASCII comparison table to build the coding rules, and convert the offline track change knowledge base generated in step 1 into a track change knowledge base stored in character form, with the file format being txt; Step 3: Load the orbit change knowledge base stored in character form obtained in step 2 by memory file mapping, and obtain the spacecraft Lambert orbit change maneuver parameters according to the decoding rules; In step 1, an offline track change knowledge base is generated; the specific process is as follows: Step 1: If the track change constraint duration is less than 24 hours, consider a situation every 1 minute. If it is more than 24 hours, consider a situation every 1 hour. The track change constraint duration is incremented from small to large. Step 2: The GEO orbit radius is 42164169 m. Consider the spacecraft and target parameters as follows: Consider one case every one degree from -179°. Take values from small to large; Among them, a s is the semi-major axis of the spacecraft orbit, e s is the spacecraft orbit eccentricity, i s is the spacecraft orbit inclination, Ω s is the right ascension of the ascending node of the spacecraft orbit, ω s is the spacecraft orbit perigee argument, M s is the mean anomaly angle of the spacecraft orbit, a t is the semi-major axis of the target orbit, e t is the target orbit eccentricity, i t is the target orbit inclination, Ω t is the right ascension of the ascending node of the target orbit, ω t is the target orbit perigee argument, M t is the mean anomaly angle of the target orbit, is the phase angle difference; Step 3: Under the given orbit change constraint duration, spacecraft and target parameters, From -179° to 180°, the number of track change circles, track change duration, first speed pulse x-axis component, first speed pulse y-axis component, second speed pulse x-axis component, and second speed pulse y-axis component are obtained through optimization algorithm with the minimum speed increment consumption under each phase angle difference; Until the track change constraint duration reaches the maximum value required by the indicator; The value of the track change duration is within the range of the track change constraint duration; When the orbit change constraint duration is 1 minute, the first line in the file represents the spacecraft Lambert orbit change maneuver parameters when the phase angle difference is -179°, the second line represents the spacecraft Lambert orbit change maneuver parameters when the phase angle difference is -178°, and so on; after 360 sets of data with a 1-minute orbit change constraint duration are stored, the spacecraft Lambert orbit change maneuver parameters when the orbit change constraint duration is 2 minutes are stored, and so on, to generate an offline orbit change knowledge base; The spacecraft Lambert orbit change maneuver parameters are the orbit change circles, orbit change duration, first velocity pulse x-axis component, first velocity pulse y-axis component, second velocity pulse x-axis component, and second velocity pulse y-axis component obtained by an optimization algorithm under each phase angle difference condition with the minimum velocity increment consumption.
2. According to claim 1, a method for obtaining orbit change maneuver parameters based on orbit change knowledge base and memory file mapping is characterized in that: The position boundary condition in the optimization algorithm is taken as: The velocity boundary condition in the optimization algorithm is taken as: Among them, x is the position in the optimization algorithm, T0 is the duration of the track change constraint, and T min To analyze the minimum duration boundary for the optimization algorithm, T cycle is the GEO orbit period.
3. The method for obtaining orbit change maneuvering parameters based on orbit change knowledge base and memory file mapping according to claim 2 is characterized in that: The optimization algorithm is a particle swarm optimization algorithm.
4. The method for obtaining orbit change maneuvering parameters based on orbit change knowledge base and memory file mapping according to claim 3 is characterized in that: In the step 2, the coding rules are constructed in combination with the ASCII comparison table, and the offline track change knowledge base generated in the step 1 is converted into a track change knowledge base stored in the form of characters, and the file format is txt; the specific process is: The rules for adding bets are as follows: Among them, p0 represents the original data, that is, the spacecraft Lambert orbit maneuver parameters, c1 represents the first character, c2 represents the second character, c3 represents the third character, c4 represents the fourth character, and c k represents the kth character, n1 represents the decimal value corresponding to the first character, n2 represents the decimal value corresponding to the second character, n3 represents the decimal value corresponding to the third character, n4 represents the decimal value corresponding to the fourth character, and n k represents the decimal value corresponding to the kth character, σ represents the precision, and β represents the relationship between the addition rules; f(n k ) represents the conversion relationship between characters and decimal values in the ASCII comparison table; 1) For the duration of the track change, it is represented by four characters, that is, k is 4, which can represent 95 4 Different meanings; σ is 0.1; 2) The number of track change circles is represented by one character, that is, k is 1, which can represent 1-95 circles, and σ is 1; 3) For the x-axis component of the first velocity pulse, it is represented by 4 characters, with the accuracy retained to four decimal places; For the y-axis component of the first velocity pulse, it is represented by 4 characters, with the accuracy retained to four decimal places; For the x-axis component of the second velocity pulse, it is represented by 4 characters, with the accuracy retained to four decimal places; For the y-axis component of the second velocity pulse, it is represented by 4 characters, with the accuracy retained to four decimal places; Each line of data in the offline orbit change knowledge base generated in step 1 occupies 21 characters, which are called original orbit change maneuver parameters, plus 1 line break, a total of 22 characters.
5. The method for obtaining orbit change maneuvering parameters based on orbit change knowledge base and memory file mapping according to claim 4 is characterized in that: In the step 3, the orbit change knowledge base stored in character form obtained in step 2 is loaded by a memory file mapping method, and the spacecraft Lambert orbit change maneuver parameters are obtained according to the decoding rules; the specific process is: Step 31: First, map the track change knowledge base in txt format to the virtual memory through memory file mapping; Step 32: When it is necessary to query the spacecraft Lambert orbit change maneuver parameters online, first consider the spacecraft residual velocity increment; Step 3. Then, according to the given orbit change constraint time T0 and the relative phase angle difference between the spacecraft and the target, Obtaining the spacecraft Lambert orbit change maneuver parameters with the minimum velocity increment consumption by interpolation Including the duration of track change and the number of track change circles n c , the first pulse velocity vector Δv1, the second pulse velocity vector Δv2.
6. The method for obtaining orbit change maneuvering parameters based on orbit change knowledge base and memory file mapping according to claim 5 is characterized in that: The remaining velocity increment of the spacecraft in step 32 can be obtained from the remaining fuel by the approximate formula: Among them, m f Indicates the remaining fuel mass, m t represents the remaining mass of the spacecraft, I sp represents the specific thrust of the fuel, g0 represents the standard gravitational acceleration at sea level, and Δv represents the velocity increment that can be generated by the remaining fuel in the spacecraft.
7. The method for obtaining orbit change maneuver parameters based on orbit change knowledge base and memory file mapping according to claim 6 is characterized in that: In step 33, according to the given orbit change constraint time T0, the relative phase angle difference between the spacecraft and the target, Obtaining the spacecraft Lambert orbit change maneuver parameters with the minimum velocity increment consumption by interpolation Including the track change time t, track change number n c , the first pulse velocity vector Δv1, the second pulse velocity vector Δv2; the specific method is: 1) Obtain the phase angle difference in the track change knowledge base The difference between the two most recent phase angles and in, Indicates rounding down. Indicates rounding up; 2) Obtain the two closest trajectory change constraint duration values T1 and T2 to the trajectory change constraint duration T0 in the trajectory change knowledge base: Among them, * represents the multiplication sign; When the duration of the track change constraint is less than 24 hours, the above formula is rounded to the integer of seconds; otherwise, it is rounded to the integer of hours; 3) Take the duration value of the orbit change constraint T1, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under 4) Take the duration value of the orbit change constraint T1, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under 5) Interpolation is used to obtain the duration value T1 of the track change constraint, and the phase angle difference is The original trajectory maneuver parameters under 6) Take the duration value of the orbit change constraint T2, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under 7) Take the duration value of the orbit change constraint T2, query the orbit change knowledge base and obtain the phase angle difference according to the decoding rule: The original trajectory maneuver parameters under 8) Interpolation is used to obtain the duration of the track change constraint T2, and the phase angle difference is The original trajectory maneuver parameters under 9) Interpolation is used to obtain the duration value T0 of the track change constraint, and the phase angle difference is The original trajectory maneuver parameters under 10) The duration of the track change constraint T0 is obtained through the coordinate system conversion rule, and the phase angle difference is Lambert maneuver parameters of spacecraft under Determine the obtained spacecraft Lambert orbit maneuver parameters Whether the speed increment consumed is less than the speed increment that the spacecraft can generate, if so, the fuel requirement is met; if not, the fuel requirement is not met.
8. The method for obtaining orbit change maneuvering parameters based on orbit change knowledge base and memory file mapping according to claim 7 is characterized in that: The decoding rule is defined as finding the number of rows in the track change knowledge base stored in character form obtained in step 2 according to the task track change constraint duration and phase angle difference; Decode the characters in the line according to formula (11) to obtain the orbit change maneuver parameters; Specifically: The first to fourth characters represent the duration of the orbit change, σ is 0.1, β is 95, and k is 4. Substituting them into formula (11) yields the orbit change duration data; The fifth character represents the number of orbit change cycles, σ is 1, β is 95, and k is 1. Substituting into formula (11) we can get the orbit change cycle data; The 6th to 9th characters represent the x-axis component of the first velocity pulse, σ is 0.0001, β is 95, k is 4 and is substituted into formula (11) to obtain the x-axis component data of the first velocity pulse; The 10th to 13th characters represent the y-axis component of the first velocity pulse, σ is 0.0001, β is 95, k is 4 and is substituted into formula (11) to obtain the y-axis component data of the first velocity pulse; The 14th to 17th characters represent the x-axis component of the second velocity pulse, σ is 0.0001, β is 95, k is 4 and is substituted into formula (11) to obtain the x-axis component data of the second velocity pulse; The 18th to 21st characters represent the y-axis component of the second velocity pulse. σ is taken as 0.0001, β is taken as 95, and k is taken as 4. Substituting them into formula (11) obtains the y-axis component data of the second velocity pulse.
9. The method for obtaining orbit change maneuvering parameters based on orbit change knowledge base and memory file mapping according to claim 8 is characterized in that: In 10), the track change constraint duration value T0 is obtained by the coordinate system conversion rule, and the phase angle difference is Lambert maneuver parameters of spacecraft under The specific process is: Let the six numbers of the spacecraft orbit be: a s =42164169m,e s =0,i s ≠0°,Ω s ≠0°,ω s =0°,M s ≠0°(12) The duration of the track change constraint T0 is obtained through the coordinate system transformation rule, and the phase angle difference is Lambert maneuver parameters of spacecraft under The duration of track change and the number of track change circles n c The first velocity pulse vector Δv1 is unchanged: b 01 =sin(i s )sin(Ω s ),b 02 =-sin(i s )cos(Ω s ),b 03 =cos(i s ) b 11 =v 1x ,b 12 =cos(i s )v 1y ,b 13 =sin(i s )v 1y , b 21 =cos(Ω s )b 11 -sin(Ω s )b 12 ,b 22 =sin(Ω s )b 11 +cos(Ω s )b 12 ,b 23 =b 13 , Among them, b 01 、b 02 、b 03 、b 11 、b 12 、b 13 、b 21 、b 22 、b 23 is the intermediate parameter; The second velocity pulse vector Δv2 is: b 01 =sin(i s )sin(Ω s ),b 02 =-sin(i s )cos(Ω s ),b 03 =cos(i s ) b 11 =v 2x ,b 12 =cos(i s )v 2y ,b 13 =sin(i s )v 2y , b 21 =cos(Ω s )b 11 -sin(Ω s )b 12 ,b 22 =sin(Ω s )b 11 +cos(Ω s )b 12 ,b 23 =b 13 ,
Citation Information
Patent Citations
Remote maintenance method of expert knowledge base of intelligent alarm system of a transformer substation
CN111027699A
Text coding and decoding method and device, equipment and medium
CN114936539A