Inter-satellite laser communication attitude deviation compensation quantity calculation method and system
By calculating the attitude compensation amount and adjusting the two-dimensional servo turntable of the laser terminal optical head, the problem of laser communication link failure caused by satellite attitude deviation is solved, achieving high-precision pointing and aiming, which is suitable for laser communication between coplanar or non-coplanar high and low orbit satellites.
Patent Information
- Application Number
- CN202411583983.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-07
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-11-07
AI Technical Summary
Existing technologies struggle to address the issue of laser communication link failures caused by satellite attitude deviations, especially in laser communication between coplanar or non-coplanar high and low orbit satellites, where laser terminal pointing deviations cannot be effectively compensated.
By judging the attitude control management unit data, gyroscope data, and current attitude, the attitude compensation amount is calculated respectively. The attitude compensation amount is used to adjust the two-dimensional servo turntable of the laser terminal optical head to offset the attitude deviation of the satellite body and achieve high-precision pointing and aiming.
It effectively eliminates the influence of micro-vibrations in satellite structure, calculates and compensates for satellite attitude deviations, and realizes the establishment of laser communication links. It is suitable for laser communication between coplanar or non-coplanar high and low orbit satellites.
Smart Images

Figure CN119544061B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of satellite laser communication, and particularly relates to an inter-satellite laser communication attitude deviation compensation quantity calculation method and system. BACKGROUND
[0002] With the continuous enhancement of satellite observation capability, remote sensing technologies with high temporal resolution, high spatial resolution and high spectral resolution are widely applied. Satellite remote sensing generates massive data transmission and download requirements, and a single satellite only relies on the working mode of microwave and relay terminal data transmission communication, which is difficult to meet the growing business needs. Therefore, inter-satellite laser communication transmission and laser download of massive remote sensing data based on multiple satellites has become an inevitable trend of future development.
[0003] Compared with the traditional satellite microwave communication, satellite laser communication as a new type of communication method has many advantages such as high transmission rate, large communication capacity, small volume, light weight and high security, but the pointing deviation of the laser terminal restricts the engineering application and development of satellite laser communication.
[0004] At present, the prior art cannot solve the problem that laser communication cannot be chained caused by satellite attitude deviation.
[0005] Patent document CN104954069A discloses a satellite laser communication acquisition method based on signal light, which adopts a double-end spiral scanning method of the acquisition and tracking mechanism to signal light beam to complete the whole process of aiming, acquisition and tracking, so that the LEO and GEO satellite acquisition detectors detect the light spots of the other party, and the light spot positions are stably kept at the centers of the acquisition detectors of both parties, and then tracking is turned to communication. The method is based on the detected light spot of the other party, and cannot solve the pointing deviation problem of the tracking mechanism.
[0006] Patent document CN106533562A discloses a space multi-user multi-mode satellite laser communication system and method, which provides a space multi-user multi-mode satellite laser communication system and method. The system includes a fine aiming deflection control mirror and a coarse aiming deflection control mirror. The method mentions that the system designs a coarse aiming control mirror and a fine aiming control mirror, but does not consider the pointing deviation of the control mirror caused by satellite attitude angle deviation.
[0007] Patent document CN102142899A discloses a satellite laser communication composite tracking and pointing vibration suppression device and control method. The scheme generates a random jitter signal, triggers a fine tracking and pointing system for compensation tracking through a corresponding switch, or triggers a composite system composed of a coarse tracking system and a fine tracking system for compensation tracking, realizes time-sharing tracking compensation of the coarse tracking system and the fine tracking system, and improves tracking efficiency, but can only eliminate the influence of micro-vibration of the satellite structure and does not calculate and compensate the laser pointing deviation caused by the satellite attitude deviation.
[0008] Document Satellite Inter-satellite Laser Communication Coarse Tracking Turntable Control System, Wang Wenjie et al., Optical Precision Engineering, 2021, Vol. 29, No. 12. A three-loop control model of the tracking system is established with a permanent magnet synchronous motor as the control object, an adaptive gain control is proposed, the control adjustment time is shortened from 100 ms to 70 ms, and the steady-state accuracy is kept at ±2.247 μrad, which provides a theoretical basis for the tracking control of inter-satellite laser communication.
[0009] Document Compensation Algorithm for Reducing the Influence of Random Vibration on Satellite Laser Communication Fiber Coupling, Zhao Zhuo et al., Optical Communication Technology, 2020, No. 12. In view of the influence of satellite platform vibration and alignment error factors on the coupling reception process of space light-single-mode fiber, the nutation algorithm and the SPGD algorithm are adopted, and the convergence speed and coupling efficiency reach their respective optimal values under the optimal parameters, but the satellite attitude deviation is not considered in the compensation algorithm. SUMMARY
[0010] In view of the defects in the prior art, the purpose of the present application is to provide an inter-satellite laser communication attitude deviation compensation amount calculation method and system.
[0011] The inter-satellite laser communication attitude deviation compensation amount calculation method according to the present application comprises: judging the data type; the data type comprises: attitude control management unit data, gyro data, and current attitude;
[0012] If the result is the attitude control management unit data, enter the management unit data attitude angle calculation process;
[0013] If the result is the gyro data, enter the gyro data attitude angle calculation process;
[0014] If the result is the current attitude, let the current attitude be the attitude compensation amount;
[0015] If the result is not the above three cases, let the attitude compensation output be zero.
[0016] Preferably, the data type is judged according to the state flag XZ_select;
[0017] If XZ_select is "AA", "55" or "A6", the result is yes, and the data type is attitude control management unit data when XZ_select is "AA", the data type is gyro data when XZ_select is "55", and the data type is current attitude when XZ_select is "A6";
[0018] If XZ_select is not "AA", "55" or "A6", the result is no, and the attitude compensation output is zero;
[0019] The attitude compensation output is zero, and the expression is:
[0020] Qib_qin_A7_out = [1; 0; 0; 0]
[0021] Wherein, Qib_qin_A7_out represents the current attitude compensation amount;
[0022] The attitude control management unit data comprises attitude quaternion Qib and body axis attitude angular velocity W;
[0023] The gyro data comprises angle increment fai, integral time T and angular velocity increment equivalent;
[0024] The management unit data attitude angle calculation process comprises:
[0025] Step A1: collect attitude quaternion Qib and body axis attitude angular velocity W;
[0026] Step A2: normalize the attitude quaternion Qib, and then obtain the change quaternion of the current beat attitude according to the body axis attitude angular velocity W;
[0027] Step A3: calculate the attitude compensation amount according to the change quaternion;
[0028] In the step A2, the mathematical expression of the change quaternion is:
[0029]
[0030] Wherein, q0 represents the input attitude quaternion Qib; represents the attitude control management unit attitude angular velocity W matrix; and dq represents the change quaternion;
[0031] In the step A3, the expression of the attitude compensation amount is:
[0032] q t = q0 + dq × △t
[0033] Wherein, q trepresents the attitude compensation amount; Δt represents the total time interval of the attitude control management unit data giving compensation amount;
[0034] The mathematical expression of the Δt is:
[0035] Δt = tlaser - t compensate + in_step_s
[0036] Wherein, tlaser represents the system time; t compensate represents the time information corresponding to the attitude quaternion Qib; in_step_s represents the compensation amount calculation step length of the next frame of the attitude control management unit.
[0037] Preferably, the gyro data attitude angle calculation process comprises:
[0038] Step B1: collect gyro data;
[0039] Step B2: calculate the gyro angular velocity according to the gyro data;
[0040] Step B3: remove the gyro drift based on the gyro angular velocity to obtain the star body inertial three-axis angular velocity;
[0041] Step B4: according to the star body inertial three-axis angular velocity, judge whether the gyro data iteration number NT is greater than 30, if yes, mark the system failure; if no, iterate the gyro data and calculate the gyro data compensation amount;
[0042] In the step B2, the expression of the gyro angular velocity is:
[0043] Bybt = 1000 × (angle increment fai × angular velocity increment equivalent) / integration time T
[0044] Wherein, Bybt represents the body angular velocity output by the gyro, i.e. the gyro angular velocity;
[0045] In the step B3, the expression of the gyro drift deduction is:
[0046] Wby = Bybt - byb
[0047] Wherein, Wby represents the body angular velocity correction value output by the gyro; byb represents the drift amount of the gyro calibration;
[0048] The expression of the star body inertial three-axis angular velocity is:
[0049] Wib_gxd = A_g_bi × [Wby]
[0050] Wherein, A_g_bi is the installation matrix of the gyro, Wib_gxd is the body inertial three-axis angular velocity; [Wby] represents the body angular velocity correction value vector form of the gyro output;
[0051] In the step B4, let Wib_gxd(N) represent the latest 30 gyro data, N represents the number of gyro data, N≤30; let the attitude quaternion Qib as the initial value of iteration, through each gyro data Wib_gxd(N) iteration, the mathematical expression is:
[0052] dq(N)=0.5×Wib_gxd(N)×q N
[0053] Wherein, dq(N) is the iteration change quaternion of each shot; q N represents the iteration result quaternion;
[0054] The mathematical expression of the gyro data compensation amount is:
[0055] q tg =q N +dq(N)×0.01
[0056] Wherein, q tg is the gyro data compensation amount.
[0057] Preferably, in the step B4, when NT=1, the iteration expression is:
[0058] dq(N)=0.5×Wib_gxd(N)×q N+1
[0059] Wherein, q N+1 represents the quaternion obtained by recursion of the N+1 gyro data;
[0060] q tg =q N +dq(N)×TT
[0061] Wherein, TT represents the total time interval of the gyro data compensation amount given;
[0062] The expression of the TT is:
[0063] TT=tlaser-t_compensate+in_step_sg
[0064] Wherein, in_step_sg is the compensation amount calculation step length of the next shot of the attitude control management unit;
[0065] The gyro data source compensation amount is normalized to obtain the gyro data source output attitude compensation amount;
[0066] The mathematical expression for the attitude compensation quantity output by the gyroscope data source is:
[0067] Qib_out_q_g_new=q tg . / norm(q tg )
[0068] Where Qib_out_q_g_new represents the attitude compensation amount output by the gyroscope data source; the symbol · represents element-wise division.
[0069] Preferably, when the data type is the current pose, let the current pose be pose information; the expression for the pose information is:
[0070] Qib_qin = Qib. / norm(Qib)
[0071] Where Qib_qin represents the given attitude information compensation amount; norm(Qib) represents the norm calculation of vector Qib; and Qib represents the current attitude information quaternion vector.
[0072] Assign the attitude information to the current attitude compensation value;
[0073] The current attitude compensation amount is the attitude compensation amount with data type being the current attitude.
[0074] The expression for the current attitude compensation amount is:
[0075] Qib_qin_A6_out=Qib_qin
[0076] Where Qib_qin_A6_out represents the current attitude compensation amount.
[0077] A system for calculating attitude deviation compensation in inter-satellite laser communication according to the present invention includes:
[0078] Determine the data type; the data types include: attitude control unit data, gyroscope data, and current attitude.
[0079] If the result is attitude control management unit data, then the attitude angle calculation module of the management unit data is triggered;
[0080] If the result is gyroscope data, then the gyroscope data attitude angle calculation module is triggered;
[0081] If the result is the current pose, then let the current pose be the pose compensation amount;
[0082] If the result is not one of the three cases mentioned above, then the attitude compensation output should be zero.
[0083] Preferably, the data type is determined based on the status flag, namely XZ_select;
[0084] Determine if XZ_select is "AA", "55", or "A6". If yes, XZ_select = "AA", then the data type is attitude control unit data; XZ_select = "55", then the data type is gyroscope data; XZ_select = "A6", then the data type is the current attitude.
[0085] Determine if XZ_select is "AA", "55" or "A6". If the result is no, set the attitude compensation output to zero.
[0086] The attitude compensation output is zero, expressed as:
[0087] Qib_qin_A7_out=[1;0;0;0]
[0088] Where Qib_qin_A7_out represents the current attitude compensation amount;
[0089] The attitude control management unit data includes: attitude quaternion Qib and body axis attitude angular velocity W;
[0090] The management unit data attitude angle calculation module includes:
[0091] Module A1: Acquires attitude quaternion Qib and body axis attitude angular velocity W;
[0092] Module A2: Normalize the attitude quaternion Qib, and then obtain the change quaternion of the current shooting attitude based on the body axis attitude angular velocity W;
[0093] Module A3: Calculate the attitude compensation amount based on the changed quaternion;
[0094] In module A2, the mathematical expression for the changing quaternion is:
[0095]
[0096] Where q0 represents the input attitude quaternion Qib; dq represents the attitude angular velocity matrix W of the attitude control management unit; dq represents the changing quaternion.
[0097] In module A3, the expression for the attitude compensation amount is:
[0098] q t =q0+dq×△t
[0099] Where, q t This represents the attitude compensation amount; △t represents the total time interval between the attitude control management unit data providing the compensation amount.
[0100] The mathematical expression for △t is:
[0101] △t=tlaser-t_compensate+in_step_s
[0102] Where tlaser represents the system time; t_compensate represents the time information corresponding to the attitude quaternion Qib; and in_step_s represents the calculation step size of the compensation amount for the next step of the attitude control management unit.
[0103] Preferably, the gyroscope data attitude angle calculation module includes:
[0104] Module B1: Acquires gyroscope data;
[0105] Module B2: Calculate the gyroscope angular velocity based on the gyroscope data;
[0106] Module B3: Based on the gyroscope angular velocity, remove gyroscope drift to obtain the star's three-axis inertial angular velocity;
[0107] Module B4: Based on the three-axis inertial angular velocity of the star body, determine whether the number of gyroscope data iterations NT is greater than 30. If the result is yes, mark the system as faulty; if the result is no, iterate the gyroscope data and calculate the gyroscope data compensation amount.
[0108] In module B2, the expression for the gyroscope angular velocity is:
[0109] Bybt = 1000 × (angle increment fai × angular velocity increment equivalent) / integration time T
[0110] Where Bybt represents the angular velocity of the gyroscope itself, i.e., the gyroscope angular velocity;
[0111] In module B3, the expression for subtracting gyroscope drift is:
[0112] Wby = Bybt-byb
[0113] Where Wby represents the correction value of the gyroscope's output angular velocity; byb represents the drift amount calibrated by the gyroscope.
[0114] The expression for the three-axis inertial angular velocity of the star body is:
[0115] Wib_gxd = A_g_bi × [Wby]
[0116] Where A_g_bi is the mounting matrix of the gyroscope, Wib_gxd is the three-axis inertial angular velocity of the star body; [Wby] represents the vector form of the body angular velocity correction value output by the gyroscope;
[0117] In module B4, let Wib_gxd(N) represent the most recent 30 gyroscope data points, where N represents the number of gyroscope data points, and N≤30; let the attitude quaternion Qib be used as the initial value for iteration, and iterate using the gyroscope data Wib_gxd(N) per frame. The mathematical expression is:
[0118] dq(N)=0.5×Wib_gxd(N)×q N
[0119] Where dq(N) is the quaternion that changes in each iteration; q N Represents the quaternion as the result of the iteration;
[0120] The mathematical expression for the gyroscope data compensation amount is:
[0121] q tg =q N +dq(N)×0.01
[0122] Where, q tg This is the amount of data compensation for the gyroscope.
[0123] Preferably, in module B4, when NT = 1, the iterative expression is:
[0124] dq(N)=0.5×Wib_gxd(N)×q N+1
[0125] Where, q N+1 This represents the quaternion obtained by recursively calculating the data of the (N+1)th gyroscope.
[0126] q tg =q N +dq(N)×TT
[0127] Where TT represents the total time interval for the gyroscope data to provide compensation;
[0128] The expression for TT is:
[0129] TT=tlaser-t_compensate+in_step_sg
[0130] Wherein, in_step_sg is the calculation step size for the compensation amount in the next step of the attitude control management unit;
[0131] Normalize the compensation amount from the gyroscope data source to obtain the attitude compensation amount output by the gyroscope data source.
[0132] The mathematical expression for the attitude compensation quantity output by the gyroscope data source is:
[0133] Qib_out_q_g_new=q tg . / norm(qtg )
[0134] Where Qib_out_q_g_new represents the attitude compensation amount output by the gyroscope data source; the symbol · represents element-wise division.
[0135] Preferably, when the data type is the current pose, let the current pose be pose information; the expression for the pose information is:
[0136] Qib_qin = Qib. / norm(Qib)
[0137] Where Qib_qin represents the given attitude information compensation amount; norm(Qib) represents the norm calculation of vector Qib; and Qib represents the current attitude information quaternion vector.
[0138] Assign the attitude information to the current attitude compensation value;
[0139] The current attitude compensation amount is the attitude compensation amount with data type being the current attitude.
[0140] The expression for the current attitude compensation amount is:
[0141] Qib_qin_A6_out=Qib_qin
[0142] Where Qib_qin_A6_out represents the current attitude compensation amount.
[0143] Compared with the prior art, the present invention has the following beneficial effects:
[0144] 1. This invention is used for high-precision pointing and aiming of laser terminals, solving the problem of laser communication failure caused by satellite attitude deviation.
[0145] 2. When the method of the present invention is used for coplanar or non-coplanar high and low orbit satellite laser communication, the attitude deviation caused by the satellite body is offset by adjusting the two-dimensional servo turntable of the laser terminal optical head in the form of attitude compensation.
[0146] 3. This invention determines the compensation amount based on the attitude control management unit data, gyroscope data and the current attitude, which not only eliminates the influence of micro-vibrations of the celestial structure, but also calculates and compensates for the laser pointing deviation caused by the satellite attitude deviation. Attached Figure Description
[0147] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0148] Figure 1 The main flowchart provided for this invention;
[0149] Figure 2 This is a schematic diagram of the data source compensation calculation process for the attitude control management unit provided by the present invention;
[0150] Figure 3 A schematic diagram illustrating the calculation process of high-frequency gyroscope data source compensation amount provided by the present invention. Detailed Implementation
[0151] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.
[0152] This invention relates to a satellite laser communication servo turntable control algorithm, which is used for coplanar or non-coplanar high and low orbit satellite laser communication. By adjusting the two-dimensional servo turntable of the laser terminal optical head, the attitude deviation caused by the satellite body is offset in the form of attitude compensation.
[0153] In other words, the method for calculating the attitude deviation compensation amount in inter-satellite laser communication according to the present invention includes:
[0154] Step 1: Select the attitude compensation data source;
[0155] Specifically, XZ_select="AA" indicates the use of attitude control unit data, XZ_select="55" indicates the use of gyroscope data, XZ_select="A6" indicates the use of the current attitude, otherwise zero compensation is given;
[0156] Step 2: Obtain the high-precision attitude quaternion Qib;
[0157] Step 3: Calculate the data source compensation amount for the attitude control management unit;
[0158] Step 4: Acquire high-frequency gyroscope data (fai) and perform data preprocessing;
[0159] Step 5: Determine the number of gyroscope data iterations NT based on the time difference, and determine the validity of the data;
[0160] Step 6: Calculate the gyroscope data source compensation amount;
[0161] Step 7: Assign the current attitude to the attitude compensation value; in other words, when XZ_select = "A6", the input current attitude quaternion is normalized and then assigned to the attitude compensation value.
[0162] Step 8: The attitude compensation output is set to zero; in other words, when XZ_select is not the above value, the attitude compensation output is set to zero.
[0163] Specifically, in step 1:
[0164] Step 1.1: When the status flag XZ_select = "AA", it indicates that attitude control management unit data is being used, including high-precision attitude quaternions Qib, body axis attitude angular velocity W, and corresponding time information. This data is output to the onboard computer via the high-speed serial port of the attitude and orbit control subsystem management unit. The attitude quaternions Qib, namely Qib0, Qib1, Qib2, and Qib3, and the body axis attitude angular velocity W are 32-bit floating-point numbers, namely Wc_x, Wc_y, and Wc_z. The time information corresponding to these 32-bit floating-point numbers consists of a 16-bit day counter and a 32-bit 0.1-millisecond counter. "High precision" specifically refers to an attitude determination accuracy better than 3 arcseconds.
[0165] Step 1.2: The attitude control management unit updates data at a frequency of 10Hz. After the onboard computer acquires the data, it verifies it. Once the data is valid, it is stored in the cache state space.
[0166] Step 1.3: XZ_select = "55" indicates that gyroscope data is used, including the sampling angle increment fai, integration time T, and angular velocity increment equivalent. The angular velocity increment equivalent is calibrated by the single unit and output to the onboard computer through the gyroscope's high-speed serial port. The three-axis angle increment fai is in 3-byte two's complement form, namely fai_x, fai_y, and fai_z. The 3-byte two's complement corresponds to T_x, T_y, and T_z of the three-axis integration time T, respectively, with a unit of 1ms.
[0167] Step 1.4: The attitude control management unit updates data at a frequency of 100Hz. After the onboard computer acquires the data, it verifies it. Once the data is valid, it is stored in the cache state space.
[0168] Step 1.5: XZ_select = "A6" indicates that the current attitude is used. The attitude quaternions Qib in Step 1.1, namely Qib0, Qib1, Qib2 and Qib3, are normalized and used as compensation values to adjust the two-dimensional servo turntable of the laser terminal optical head.
[0169] Step 1.6: When XZ_select is not one of the above values, the attitude compensation output is set to zero.
[0170] Specifically, in step 2:
[0171] 2.1: Obtain the system clock in seconds (tlaser unit) and normalize the attitude quaternion Qib;
[0172] 2.2: The quaternion equation for the current shooting posture change is used to obtain the quaternion, which is expressed as:
[0173]
[0174] Where q0 represents the input attitude quaternion Qib; dq represents the attitude angular velocity matrix W of the attitude control management unit; dq represents the changing quaternion.
[0175] Specifically, in step 3:
[0176] 3.1: Calculate the attitude compensation amount for the next time step using the attitude management unit data source. The expression is:
[0177] q t =q0+dq×△t
[0178] Where △t represents the total time interval between the compensation amounts provided by the management unit data, and its mathematical expression is:
[0179] △t=tlaser-t_compensate+in_step_s
[0180] Where tlaser represents the system time, t_compensate is the time information corresponding to the quaternion Qib in step 1.1; in_step_s is the calculation step size of the next compensation amount of the attitude control management unit, the system default is 50ms, and q t This is the data source compensation amount for the attitude control management unit.
[0181] Specifically, in step 4:
[0182] 4.1: Using the angle increment fai, integration time T, and equivalent angular velocity increment from step 1.3, we obtain the gyroscopic angular velocity output of the satellite body relative to the inertial frame, i.e., the relationship is:
[0183] Bybt = 1000 × (angle increment fai × angular velocity increment equivalent) / integration time T
[0184] Here, Bybt represents the angular velocity of the gyroscope output.
[0185] 4.2: Subtract gyroscope drift: Wby = Bybt - byb, where byb represents the drift amount calibrated by the gyroscope, and Wby represents the correction value of the gyroscope's output body angular velocity.
[0186] 4.3: The inertial three-axis angular velocities of the star are obtained, expressed as follows:
[0187] Wib_gxd = A_g_bi × [Wby]
[0188] Where A_g_bi is the mounting matrix of the gyroscope, Wib_gxd is the three-axis inertial angular velocity of the star body; [Wby] represents the vector form of the body angular velocity correction value output by the gyroscope.
[0189] 4.4: The space-based computer stores the most recent 30 gyroscope data points in its state space, denoted by Wib_gxd(N), where N represents the number of gyroscope data points, N≤30, N=30, 29, …, 1. N=1 indicates that the latest gyroscope data is stored.
[0190] Specifically, in step 5:
[0191] 5.1: Determine the number of gyroscope data iterations NT based on the time difference. NT is an integer multiple of 0.01 of the difference between the system time tlaser and the quaternion time t_compensate. When NT > 30, it is determined that the attitude quaternion has not been updated, and a system fault flag is set.
[0192] Specifically, in step 6:
[0193] 6.1: Calculate the gyroscope data source compensation. The attitude quaternion Qib of the attitude management unit is used as the initial value for iteration. When NT≤30, the iteration is performed using the gyroscope data Wib_gxd(N) per frame. The expression is:
[0194] dq(N)=0.5×Wib_gxd(N)×q N
[0195] q tg =q N +dq(N)×0.01
[0196] Where, q N The iterative result is a quaternion, with the initial value being the attitude quaternion Qib, dq(N) being the quaternion that changes in each iteration, and q... tg This is the amount of data compensation for the gyroscope.
[0197] 6.2: When NT = 1, it represents the latest gyroscope data iteration, and the iteration form is as follows:
[0198] dq(N)=0.5×Wib_gxd(N)×q N+1
[0199] q tg =q N +dq(N)×TT
[0200] Where TT represents the total time interval for the gyroscope data to provide compensation, expressed as:
[0201] TT=tlaser-t_compensate+in_step_sg
[0202] Where in_step_sg is the calculation step size for the next compensation amount of the attitude control management unit, the system default is 5ms, q tg This is the compensation amount for the gyroscope data source.
[0203] Specifically, in step 7:
[0204] 7.1: Assign the current attitude value to the attitude compensation amount;
[0205] 9. Step 8 includes:
[0206] 8.1: The attitude compensation output is set to zero.
[0207] Specifically, in step 1: the attitude compensation data source selection flag XZ_select is a ground injection number variable, as shown in Table 1 below, with a default value of XZ_select = "0xAA".
[0208] Table 1 Selection Flag XZ_select
[0209]
[0210] The high-precision attitude quaternion Qib, the body axis attitude angular velocity W, and the corresponding time information data format are shown in Table 2. The onboard computer acquires the data through the serial port and performs verification. After the data is valid, it is stored in the cache state space.
[0211] Table 2 shows the data format of the management unit.
[0212]
[0213] The attitude quaternion Qib is the quaternion of the satellite's own system relative to the inertial frame;
[0214] The attitude angular velocity W of the main axis is the attitude angular velocity of the satellite system relative to the inertial frame in the system.
[0215] The output content and format of the gyroscope's high-speed serial port are shown in Table 3. The update frequency is 100Hz, and the data is stored in the cache state space after it is valid.
[0216] Table 3 shows the gyroscope data format.
[0217]
[0218]
[0219] The gyroscope angular velocity increment of a certain satellite, after being calibrated by a single machine, is 2.231944e-5. It is output to the onboard computer through the high-speed serial port of the gyroscope. The three-axis angle increments of the satellite body, fai, are 3-byte two's complement, namely fai_x, fai_y, and fai_z. The 3-byte two's complement corresponds to T_x, T_y, and T_z of the three-axis integration time T of the satellite body, respectively, with a unit of 1ms.
[0220] XZ_select = "A6" indicates that the current attitude is used. The quaternion normalized form is: Qib_qin = Qib. / norm(Qib), Qib_qin_A6_out = Qib_qin, where Qib_qin represents the given attitude information compensation amount, and Qib_qin_A6_out represents the output of the current attitude as the compensation amount to adjust the two-dimensional servo turntable of the laser terminal optical head.
[0221] Specifically, in step 2, the quaternion Qib normalization is the same as in step 1.
[0222] The attitude angular velocity matrix W is expressed as: wc_x = w(1); wc_y = w(2); wc_z = w(3);
[0223] Where wc_x, wc_y and wc_z represent the angular velocities of the satellite body along the x, y and z axes, respectively; w(1), w(2) and w(3) represent the first, second and third elements of the attitude angular velocity W matrix, respectively;
[0224]
[0225] Specifically, in step 3, the quaternion expression for the current posing posture change is:
[0226]
[0227] Where q0 = Qib_qin, is the attitude compensation amount for the next beat, q t =q0 + dq × Δt; the expression for Δt is:
[0228] △t=tlaser-t_compensate+in_step_s
[0229] Where tlaser represents the system time, t_compensate = 50ms, and Qib_qin_out = q t Qib_qin_out represents the attitude compensation amount output by the data source of the management unit, which is used to adjust the two-dimensional servo turntable of the laser terminal optical head.
[0230] Specifically, step 4 includes: the angular velocity Bybt output by the gyroscope, including Bybt1, Bybt2 and Bybt3;
[0231] Bybt1=1000×(fai_x(N)×fai_x_peld) / T_x(N)
[0232] Bybt2=1000×(fai_y(N)×fai_y_peld) / T_y(N)
[0233] Bybt3=1000×(fai_z(N)×fai_z_peld) / T_z(N)
[0234] Where Bybt1, Bybt2, and Bybt3 represent the output quantities of the gyroscope body along the X, Y, and Z axes, respectively; N represents the number of gyroscope data, N≤30, N=30, 29, …, 1, and N=1 indicates that the latest gyroscope data is stored; fai_x_peld, fai_y_peld, and fai_z_peld are the equivalent increments of the X, Y, and Z axes of the body; and T_x(N), T_y(N), and T_z(N) are the three-axis integration times of the Nth data body body along the X, Y, and Z axes.
[0235] After accounting for gyroscope drift, the specific form is as follows:
[0236] Wby1 = Bybt1 - byb1
[0237] Wby2 = Bybt2 - byb2
[0238] Wby3 = Bybt3 - byb3
[0239] Among them, byb1, byb2 and byb3 are the drift values of one gyroscope, another gyroscope, and yet another gyroscope, respectively, obtained through ground calibration. Wby1, Wby2 and Wby3 represent the X, Y and Z axis output values of the gyroscope body after deducting the drift values.
[0240] The star's three-axis inertial angular velocity Wib_gxd is expressed as:
[0241] Wib_gxd = A_g_bi × [Wby]
[0242] Where A_g_bi is the gyroscope installation matrix, and the installation positions are obtained by taking a certain satellite as an example:
[0243] A_g_bi=[0,0,1,0;-1,0,0,0;0,-1,0,0]
[0244] Among them, the installation deviation can be corrected through the installation matrix A_g_bi;
[0245] Specifically, step 5 includes: iterating the gyroscope data NT times, where NT is an integer multiple of 0.01 of the difference between the system time tlaser and the quaternion time t_compensate, and the mathematical expression for NT is:
[0246] NT=ceil((tlaser_s-t_compensate_s) / 0.01)
[0247] When NT > 30, it indicates that the attitude quaternion data of the attitude control management unit has not been received, the gyroscope has no iterative attitude reference, and a fault flag is set.
[0248] Specifically, step 6 includes: when NT≤30, the attitude quaternion Qib of the attitude management unit is used as the initial value for iteration, and the gyroscope data Wib_gxd(N) per frame is used for iteration;
[0249] dq(N)=0.5×Wib_gxd(N)×q N
[0250] q tg =q N +dq(N)×0.01
[0251] Where, q N The iteration result is a quaternion, with the initial value Qib, dq(N) being the quaternion that changes in each iteration, and q. tg This is the amount of data compensation for the gyroscope.
[0252] When NT=1, it represents the latest gyroscope data iteration, and the iteration form is as follows:
[0253] dq(N)=0.5×Wib_gxd(N)×q N+1
[0254] q tg =q N +dq(N)×TT
[0255] Where TT represents the total time interval for the gyroscope data to provide compensation, expressed as:
[0256] TT=tlaser-t_compensate+in_step_sg
[0257] `in_step_sg` is the calculation step size for the next compensation amount in the attitude control management unit; the system default is 5ms. tg The compensation amount for the gyroscope data source is normalized to:
[0258] Qib_out_q_g_new=q tg· / norm(q tg )
[0259] Where Qib_out_q_g_new represents the attitude compensation amount output by the gyroscope data source, which adjusts the two-dimensional servo turntable of the laser terminal optical head; norm(q tg The symbol ) indicates the norm calculation of the gyroscope data compensation quantity; the symbol · indicates element-wise division. Specifically, it is a syntax in MATLAB. C = A. / B and C = rdivide(A,B) have the same usage, indicating that the text uses matrix and scalar division.
[0260] Specifically, step 7 includes: acquiring attitude and orbit control management unit data, including: timestamp t_compensate, attitude quaternion Qib, normalizing the attitude quaternion Qib to obtain attitude information; the expression for the attitude information is:
[0261] Qib_qin = Qib. / norm(Qib)
[0262] Where norm(Qib) represents the norm calculation of vector Qib; Qib represents the quaternion vector of current attitude information;
[0263] The attitude information Qib_qin is assigned to the attitude compensation value, expressed as follows:
[0264] Qib_qin_A6_out=Qib_qin
[0265] Where Qib_qin_A6_out represents the current attitude compensation amount.
[0266] Specifically, in step 8, the attitude compensation output is set to zero, and the expression is:
[0267] Qib_qin_A7_out=[1;0;0;0]
[0268] Where Qib_qin_A7_out represents the current attitude compensation amount.
[0269] The present invention also provides an inter-satellite laser communication attitude deviation compensation calculation system. The inter-satellite laser communication attitude deviation compensation calculation system can be implemented by executing the process steps of the inter-satellite laser communication attitude deviation compensation calculation method. That is, those skilled in the art can understand the inter-satellite laser communication attitude deviation compensation calculation method as a preferred embodiment of the inter-satellite laser communication attitude deviation compensation calculation system.
[0270] A system for calculating attitude deviation compensation in inter-satellite laser communication according to the present invention includes:
[0271] Determine the data type; the data types include: attitude control unit data, gyroscope data, and current attitude.
[0272] If the result is attitude control management unit data, then the attitude angle calculation module of the management unit data is triggered;
[0273] If the result is gyroscope data, then the gyroscope data attitude angle calculation module is triggered;
[0274] If the result is the current pose, then let the current pose be the pose compensation amount;
[0275] If the result is not one of the three cases mentioned above, then the attitude compensation output should be zero.
[0276] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0277] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A method for calculating attitude deviation compensation in inter-satellite laser communication, characterized in that, include: Determine the data type; The data types include: attitude control management unit data, gyroscope data, and current attitude; If the result is attitude control management unit data, then proceed to the attitude angle calculation process for management unit data; If the result is gyroscope data, then proceed to the gyroscope data attitude angle calculation process; If the result is the current pose, then let the current pose be the pose compensation amount; If the result is not one of the three cases mentioned above, then the attitude compensation output should be zero. The attitude control management unit data includes: attitude quaternion Qib and body axis attitude angular velocity W; The gyroscope data includes: angle increment fai, integration time T, and angular velocity increment equivalent; The data attitude angle calculation process of the management unit includes: Step A1: Acquire attitude quaternion Qib and body axis attitude angular velocity W; Step A2: Normalize the attitude quaternion Qib, and then obtain the change quaternion of the current attitude based on the body axis attitude angular velocity W. Step A3: Calculate the attitude compensation amount based on the changed quaternion; The gyroscope data attitude angle calculation process includes: Step B1: Collect gyroscope data; Step B2: Calculate the gyroscope angular velocity based on the gyroscope data; Step B3: Based on the gyroscope angular velocity, remove gyroscope drift to obtain the star's three-axis inertial angular velocity; Step B4: Based on the three-axis inertial angular velocity of the star body, determine whether the number of gyroscope data iterations NT is greater than 30. If the result is yes, mark the system as faulty; if the result is no, iterate the gyroscope data and calculate the gyroscope data compensation amount.
2. The method for calculating the attitude deviation compensation amount in inter-satellite laser communication according to claim 1, characterized in that, The data type is determined based on the status flag XZ_select; Determine if XZ_select is "AA", "55", or "A6". If the result is yes, XZ_select="AA", then the data type is attitude control management unit data; XZ_select="55", then the data type is gyroscope data; XZ_select="A6", then the data type is the current attitude. Determine if XZ_select is "AA", "55" or "A6". If the result is no, set the attitude compensation output to zero. The attitude compensation output is zero, expressed as: Qib_qin_A7_out=[1;0;0;0] Where Qib_qin_A7_out represents the current attitude compensation amount; In step A2, the mathematical expression for the changing quaternion is: dq =0.5× × q 0 in, q 0 indicates the input attitude quaternion Qib; This represents the attitude angular velocity W matrix of the attitude control management unit; dq Quaternions representing changes; In step A3, the expression for the attitude compensation amount is: q t = q 0+ dq ×△ t in, q t Indicates the attitude compensation amount; △ t This indicates the total time interval at which the attitude control management unit provides the compensation amount; The △ t The mathematical expression is: △ t =tlaser-t_compensate+in_step_s Where tlaser represents the system time; t_compensate represents the time information corresponding to the attitude quaternion Qib; and in_step_s represents the calculation step size of the compensation amount for the next step of the attitude control management unit.
3. The method for calculating the attitude deviation compensation amount in inter-satellite laser communication according to claim 2, characterized in that, In step B2, the expression for the gyroscope angular velocity is: Bybt = 1000 × (angle increment fai × angular velocity increment equivalent) / integration time T Where Bybt represents the angular velocity of the gyroscope itself, i.e., the gyroscope angular velocity; In step B3, the expression for subtracting gyroscope drift is: Wby=Bybt-byb Where Wby represents the correction value of the gyroscope's output angular velocity; byb represents the drift amount calibrated by the gyroscope. The expression for the three-axis inertial angular velocity of the star body is: Wib_gxd=A_g_bi×[Wby] Where A_g_bi is the mounting matrix of the gyroscope, Wib_gxd is the three-axis inertial angular velocity of the star body; [Wby] represents the vector form of the body angular velocity correction value output by the gyroscope; In step B4, let Wib_gxd(N) represent the most recent 30 gyroscope data points, where N represents the number of gyroscope data points, and N≤30; let the attitude quaternion Qib be used as the initial value for iteration, and then iterate through each frame of gyroscope data... Wib_gxd ( N The iteration is performed, and the mathematical expression is: dq ( N )=0.5× Wib_gxd ( N )× q N in, dq ( N ) represents the quaternion that changes in each iteration; q N Represents the quaternion as the result of the iteration; The mathematical expression for the gyroscope data compensation amount is: q tg = q N + dq ( N )×0.01 in, q tg This is the amount of data compensation for the gyroscope.
4. The method for calculating the attitude deviation compensation amount in inter-satellite laser communication according to claim 3, characterized in that, In step B4, when NT=1, the iterative expression is: dq ( N )=0.5× Wib_gxd ( N )× q N+1 in, q N+1 This represents the quaternion obtained by recursively calculating the data of the (N+1)th gyroscope. q tg = q N + dq ( N )× TT in, TT This indicates the total time interval for the gyroscope data to provide compensation. The TT The expression is: TT =tlaser-t_compensate+in_step_sg Wherein, in_step_sg is the calculation step size for the compensation amount in the next step of the attitude control management unit; Normalize the compensation amount from the gyroscope data source to obtain the attitude compensation amount output by the gyroscope data source. The mathematical expression for the attitude compensation quantity output by the gyroscope data source is: Qib_out_q_g_new= q tg . / norm( q tg ) Where Qib_out_q_g_new represents the attitude compensation amount output by the gyroscope data source; the symbol · represents element-wise division.
5. The method for calculating the attitude deviation compensation amount in inter-satellite laser communication according to claim 4, characterized in that, When the data type is the current pose, let the current pose be the pose information; the expression for the pose information is: Qib_qin = Qib. / norm(Qib) Where Qib_qin represents the given attitude information compensation amount; norm(Qib) represents the norm calculation of vector Qib; and Qib represents the current attitude information quaternion vector. Assign the attitude information to the current attitude compensation value; The expression for the current attitude compensation amount is: Qib_qin_A6_out=Qib_qin Where Qib_qin_A6_out represents the current attitude compensation amount.
6. A system for calculating attitude deviation compensation in inter-satellite laser communication, characterized in that, include: Determine the data type; The data types include: attitude control management unit data, gyroscope data, and current attitude; If the result is attitude control management unit data, then the attitude angle calculation module of the management unit data is triggered; If the result is gyroscope data, then the gyroscope data attitude angle calculation module is triggered; If the result is the current pose, then let the current pose be the pose compensation amount; If the result is not one of the three cases mentioned above, then set the attitude compensation output to zero. The attitude control management unit data includes: attitude quaternion Qib and body axis attitude angular velocity W; The management unit data attitude angle calculation module includes: Module A1: Acquires attitude quaternion Qib and body axis attitude angular velocity W; Module A2: Normalize the attitude quaternion Qib, and then obtain the change quaternion of the current attitude based on the body axis attitude angular velocity W; Module A3: Calculate the attitude compensation amount based on the changed quaternion; The gyroscope data attitude angle calculation module includes: Module B1: Acquires gyroscope data; Module B2: Calculate the gyroscope angular velocity based on the gyroscope data; Module B3: Based on the gyroscope angular velocity, remove gyroscope drift to obtain the star's three-axis inertial angular velocity; Module B4: Based on the three-axis inertial angular velocity of the star body, determine whether the number of gyroscope data iterations NT is greater than 30. If the result is yes, mark the system as faulty; if the result is no, iterate the gyroscope data to calculate the gyroscope data compensation amount.
7. The inter-satellite laser communication attitude deviation compensation calculation system according to claim 6, characterized in that, The data type is determined based on the status flag, namely XZ_select; Determine if XZ_select is "AA", "55", or "A6". If the result is yes, XZ_select="AA", then the data type is attitude control management unit data; XZ_select="55", then the data type is gyroscope data; XZ_select="A6", then the data type is the current attitude. Determine if XZ_select is "AA", "55" or "A6". If the result is no, set the attitude compensation output to zero. The attitude compensation output is zero, expressed as: Qib_qin_A7_out=[1;0;0;0] Where Qib_qin_A7_out represents the current attitude compensation amount; In module A2, the mathematical expression for the changing quaternion is: dq =0.5× × q 0 in, q 0 indicates the input attitude quaternion Qib; This represents the attitude angular velocity W matrix of the attitude control management unit; dq Quaternions representing changes; In module A3, the expression for the attitude compensation amount is: q t = q 0+ dq ×△ t in, q t Indicates the attitude compensation amount; △ t This indicates the total time interval at which the attitude control management unit provides the compensation amount; The △ t The mathematical expression is: △ t =tlaser-t_compensate+in_step_s Where tlaser represents the system time; t_compensate represents the time information corresponding to the attitude quaternion Qib; and in_step_s represents the calculation step size of the compensation amount for the next step of the attitude control management unit.
8. The inter-satellite laser communication attitude deviation compensation calculation system according to claim 7, characterized in that, In module B2, the expression for the gyroscope angular velocity is: Bybt = 1000 × (angle increment fai × angular velocity increment equivalent) / integration time T Where Bybt represents the angular velocity of the gyroscope itself, i.e., the gyroscope angular velocity; In module B3, the expression for subtracting gyroscope drift is: Wby=Bybt-byb Where Wby represents the correction value of the gyroscope's output angular velocity; byb represents the drift amount calibrated by the gyroscope. The expression for the three-axis inertial angular velocity of the star body is: Wib_gxd=A_g_bi×[Wby] Where A_g_bi is the mounting matrix of the gyroscope, Wib_gxd is the three-axis inertial angular velocity of the star body; [Wby] represents the vector form of the body angular velocity correction value output by the gyroscope; In module B4, let Wib_gxd(N) represent the most recent 30 gyroscope data points, where N represents the number of gyroscope data points, and N≤30; let the attitude quaternion Qib be used as the initial value for iteration, based on the gyroscope data from each frame. Wib_gxd ( N The iteration is performed, and the mathematical expression is: dq ( N )=0.5× Wib_gxd ( N )× q N in, dq ( N ) represents the quaternion that changes in each iteration; q N Represents the quaternion as the result of the iteration; The mathematical expression for the gyroscope data compensation amount is: q tg = q N + dq ( N )×0.01 in, q tg This is the amount of data compensation for the gyroscope.
9. The inter-satellite laser communication attitude deviation compensation calculation system according to claim 8, characterized in that, In module B4, when NT=1, the iterative expression is: dq ( N )=0.5× Wib_gxd ( N )× q N+1 in, q N+1 This represents the quaternion obtained by recursively calculating the data of the (N+1)th gyroscope. q tg = q N + dq ( N )× TT in, TT This indicates the total time interval for the gyroscope data to provide compensation. The TT The expression is: TT =tlaser-t_compensate+in_step_sg Wherein, in_step_sg is the calculation step size for the compensation amount in the next step of the attitude control management unit; Normalize the compensation amount from the gyroscope data source to obtain the attitude compensation amount output by the gyroscope data source. The mathematical expression for the attitude compensation quantity output by the gyroscope data source is: Qib_out_q_g_new= q tg . / norm( q tg ) Where Qib_out_q_g_new represents the attitude compensation amount output by the gyroscope data source; the symbol · represents element-wise division.
10. The inter-satellite laser communication attitude deviation compensation calculation system according to claim 9, characterized in that, When the data type is the current pose, let the current pose be the pose information; the expression for the pose information is: Qib_qin = Qib. / norm(Qib) Where Qib_qin represents the given attitude information compensation amount; norm(Qib) represents the norm calculation of vector Qib; and Qib represents the current attitude information quaternion vector. Assign the attitude information to the current attitude compensation value; The expression for the current attitude compensation amount is: Qib_qin_A6_out=Qib_qin Where Qib_qin_A6_out represents the current attitude compensation amount.
Citation Information
Patent Citations
Satellite laser communication composite tracking and pointing vibration suppression device and control method
CN102142899A
Satellite laser communication capturing method based on signal light
CN104954069A
Spatial multiuser multi-system satellite laser communication system and method
CN106533562A
Laser communication load aiming method and system based on satellite-borne cooperation
CN115037369A
Method for measuring and calibrating pointing deviation of multi-beam antenna under satellite antenna coordinate system
CN116470950A