Spacecraft thruster distribution and pulse width modulation method based on dynamic inverse matrix

Through dynamic inverse matrix calculation and thruster allocation method, the problem of low attitude control accuracy caused by three-axis coupling of thrusters in spacecraft is solved, and high-precision control and improved system reliability are achieved when the center of mass changes.

CN120681353APending Publication Date: 2025-09-23SHANGHAI AEROSPACE CONTROL TECH INST
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510683905.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-26
Publication Date
2025-09-23

AI Technical Summary

Technical Problem

In spacecraft, the torques coupled in three axes due to the tilted installation of the thrusters and the asymmetry of the vehicle's center of mass result in low attitude control accuracy and angular momentum unloading accuracy, and large control errors when the vehicle's center of mass changes.

Method used

A thruster allocation method based on dynamic inverse matrix is ​​adopted. By calculating the installation position, direction and torque matrix of the thruster, the control direction is selected in groups, and a pre-selected torque matrix is ​​generated. The jet pulse width duration is calculated in combination with the command control torque, and the usage of the thruster is updated in real time. The jet pulse width duration is calculated based on the matrix inversion algorithm.

Benefits of technology

The control accuracy of the spacecraft under the condition of changing center of mass is improved, the thruster can be installed upright or obliquely, the control error is reduced, and the system reliability and control capability are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120681353A_ABST
    Figure CN120681353A_ABST
Patent Text Reader

Abstract

A spacecraft thruster distribution and pulse width modulation method based on a dynamic inverse matrix comprises the following steps: calculating a torque matrix generated by each thruster in combination with the installation position, the thrust size and the thrust direction of the thruster; the control direction of each thruster is determined, and grouping is carried out according to the control directions of the thrusters; a thruster for controlling the three-axis positive direction is pre-selected, a torque matrix corresponding to the pre-selected three-axis positive axial thruster is generated, and the air injection pulse width duration of the three axes is calculated in combination with instruction control torque; according to the calculated symbol of the three-axis jet pulse width duration, reselecting a thruster, and obtaining a dynamic torque matrix of the reselected thruster; according to the instruction torque sent by the upper computer and the dynamic torque matrix of the reselected thrusters, the jet pulse width duration of each thruster is calculated based on a matrix inversion algorithm; the thruster pulse width modulation method is designed on the basis of considering the coupling influence of the three axes of the thruster, and can adapt to the large-range change of the mass center of the aircraft.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a spacecraft thruster distribution and pulse width modulation method based on a dynamic inverse matrix, and belongs to the field of attitude control of spacecraft and satellites. Background Art

[0002] Thrusters are crucial force and torque actuators for spacecraft such as satellites and space stations, used for orbital and attitude control. When thrusters are mounted at an angle to avoid plume effects on payloads, and their layout is asymmetrical with respect to the vehicle's center of mass, the torque generated by the thruster jet has components along all three axes. This means that the torques generated by the thrusters are mutually coupled, making it difficult to improve attitude control accuracy. This also hinders the accuracy of angular momentum unloading to the flywheel and torque gyro.

[0003] When the center of mass of an aircraft fluctuates significantly, the torque generated by each thruster also varies significantly along the three axes. Conventional methods of calculating control torque based on the average center of mass will result in significant control errors. Specifically, because the torques generated by the tilted thrusters are coupled across the three axes, traditional algorithms ignore the effects of coupling on the other axes and only control the jet using an uncoupled approach. This results in poor attitude control on the other axes, leading to poor control accuracy, low angular momentum unloading accuracy, and high fuel consumption when attitude correction is performed through closed-loop control. Due to significant variations in the center of mass of the aircraft, the actual thruster torque deviates significantly from the theoretical torque used for control, resulting in low control accuracy and even attitude divergence. Summary of the Invention

[0004] The technical problem solved by the present invention is: to overcome the shortcomings of the existing technology, and to provide a spacecraft thruster distribution and pulse width modulation method based on a dynamic inverse matrix. The thruster pulse width modulation method is designed based on the coupling influence of the three axes of the thruster, and can adapt to the large range of changes in the center of mass of the aircraft.

[0005] The technical solution of the present invention is: a spacecraft thruster distribution and pulse width modulation method based on a dynamic inverse matrix, comprising:

[0006] S1. Calculate the torque matrix T generated by each thruster based on the thruster's installation position, thrust magnitude, and thrust direction.

[0007] S2. Determine the control direction of each thruster and group the thrusters according to their control direction;

[0008] S3. Preselect the thruster that controls the positive direction of the three axes from the grouped controllers, and generate the torque matrix T corresponding to the preselected three-axis positive axial thruster through the torque matrix T. ctrl_yx, combined with the command control torque sent by the host computer to calculate the jet pulse width and duration of the three axes;

[0009] S4. Reselect the corresponding thruster according to the calculated sign of the three-axis jet pulse width, generate the three-axis thruster selection identification vector, and reselect the dynamic torque matrix T corresponding to the thruster from the torque matrix T. ctrl ;

[0010] S5, according to the command sent by the host computer, control the torque and reselect the dynamic torque matrix T of the thruster ctrl , calculate the jet pulse width of each thruster based on the matrix inversion algorithm;

[0011] S6. When the host computer sends a new command to control the torque, it returns to S3 and iterates again, and dynamically determines the thruster used in each axis and its jet pulse width in real time.

[0012] Preferably, the thruster installation position matrix is ​​P=[P1P2...P i ...P n ] 3×n , where P i is a 3×1 column vector, representing the installation position of the i-th thruster, i = 1, 2, ..., n, where n is the number of thrusters. The installation position data is obtained through precise ground measurement;

[0013] The thrust direction of the thruster is opposite to the thruster nozzle. The cosine value of the angle between the thrust direction and the three axes is the 3×1 unit vector D representing the direction of the thrust vector. i The value matrix of the thrust vector direction vector of each thruster is recorded as D = [D1D2...D i ...D n ] 3×n ;The thrust direction is obtained through precise measurement on the ground;

[0014] The thrust matrix of the thruster is F = [f1f2...f i ...f n ] 1×n , f i The thrust size and thrust vector of each thruster are obtained through precise calibration on the ground.

[0015] Preferably, the torque matrix T generated by the thruster is:

[0016] T=[T1T2...T i ...T n ]

[0017] =[cross(P1-p,f1D1),cross(P2-p,f2D2),...,cross(P i-p,f i D i ),...,cross(P n -p,f n D n )]

[0018] Among them, T i is the torque vector generated by the i-th thruster; p is the center of mass of the aircraft, which is calculated based on the remaining liquid in the tank; cross() represents the vector cross product.

[0019] Preferably, the control direction of each thruster is determined and grouped according to the control direction of the thruster, specifically:

[0020] When the components of the torque vector of the thruster in the three axes are not equal, the control direction of the thruster is determined according to the maximum value of the torque vector along the three axes and its sign.

[0021] When the thruster torque vector has the smallest component on one axis and the components on the other two axes are equal, one of the axes is designated as the control direction of the thruster;

[0022] Alternatively, when the two thrusters are installed symmetrically about the center of mass and have opposite thrust directions, forming a couple, the resultant torque of the two thrusters is such that the torque on one of the three axes (X, Y, and Z) is the largest, while the torque on the other two axes is approximately zero. The direction corresponding to the axis with the largest torque is the control direction of the two thrusters.

[0023] Finally, it is divided into six axes: +X, -X, +Y, -Y, +Z, and -Z, with a total of six groups.

[0024] Preferably, the thrusters controlling the positive direction of the three axes are preselected, the torque matrix corresponding to the preselected positive axial thrusters of the three axes is generated, and the jet pulse width duration t of the three axes is calculated in combination with the command control torque. onx_yx , t ony_yx , t onz_yx , specifically:

[0025] The command control torque vector sent by the host computer is T c =]T cx T cy T cz ] T ;

[0026] Preselect the thruster that controls the positive axis among the three axes X, Y, and Z, and generate the torque matrix T corresponding to the preselected positive axis thruster ctrl_yx =[T ctrlx_yx T ctrly_yx T ctrlz_yx ] 3×3 , T ctrlx_yx 、Tctrlx_yx 、T ctrlx_yx They are: the torque vectors generated by the thrusters that are selected to control the +X axis, +Y axis, and +Z axis in the torque matrix T generated by the thrusters;

[0027] Calculate the jet pulse width of the three axes:

[0028]

[0029] Where, t s is the control period; t onx_yx , t ony_yx , t onz_yx These are the pre-calculated jet pulse durations of the thrusters controlling the +X axis, +Y axis, and +Z axis respectively; T ctrl_yx The inverse of.

[0030] Preferably, the corresponding thruster is re-determined according to the sign of the calculated three-axis jet pulse width, and the dynamic torque matrix T corresponding to the re-selected thruster is obtained. ctrl , specifically:

[0031] According to the signs of the jet pulse durations of the three axes calculated in step S3, if the sign of the jet pulse duration of a certain axis is a negative value, the thruster controlling the reverse direction of the axis is reselected and replaced;

[0032] Replace T with the controller's torque vector reselected from the torque matrix T ctrl_yx The torque vector of the corresponding position generates the dynamic torque matrix T of the reselected thruster ctrl :T ctrl =[T ctrlx T ctrly T ctrlz ] 3×3 .

[0033] Preferably, when generating the three-axis thruster selection identification vector, the thruster selection identification vectors corresponding to the X axis, Y axis, and Z axis are respectively recorded as vectors E x 、E y 、E z , specifically:

[0034] E x 、E y 、E z Initialize to 0 vector:

[0035]

[0036] E j is an n×1 column vector, j=x,y,z;

[0037] When the i-th thruster is selected to control the j-axis, then in E j The i-th position in is set to 1, and the rest of the positions remain unchanged.

[0038] Preferably, according to the command control torque and the dynamic torque matrix of the reselected thruster, the jet pulse width duration of each thruster is calculated based on the matrix inversion algorithm, specifically as follows:

[0039] The actual jet pulse width of the three-axis thruster is calculated based on the principle that the actual jet angular momentum is equal to the angular momentum generated by the command control torque.

[0040] Calculate the jet pulse duration of each thruster based on the actual jet pulse duration of the three-axis thruster and the selection of the three-axis attitude control thruster.

[0041] Preferably, the actual jet pulse width duration t of the three-axis thruster onx , t ony , t onz for:

[0042]

[0043] Where: t s is the control period, T ctrl To reselect the dynamic torque matrix of the thruster, T c The command sent by the host computer controls the torque vector.

[0044] Preferably, the jet pulse duration of each thruster is calculated based on the actual jet pulse duration of the three-axis thruster and the selection of the three-axis attitude control thruster, specifically:

[0045] For the three-axis jet pulse width t onj Perform amplitude limiting processing, j = x, y, z, the minimum value of the jet pulse width is the minimum jet duration T that the thruster can respond to on_min The maximum duration of the jet pulse is the control period t s , as shown below:

[0046]

[0047] Calculate the jet pulse width duration of each thruster based on the selection of the three-axis thruster t i is the jet pulse width duration of the i-th thruster;

[0048] T on =E x ·t onx +E y ·t ony +E z ·t onz

[0049] T on is a vector consisting of the pulse width and duration sent to each thruster; E x 、E y 、E z Select identification vectors for the thrusters corresponding to the X-axis, Y-axis, and Z-axis respectively.

[0050] Compared with the prior art, the present invention has the following advantages:

[0051] (1) The control torque of the thruster of the present invention can be updated according to the center of mass position, which is suitable for situations where the center of mass of the aircraft changes greatly and is conducive to improving control accuracy;

[0052] (2) The present invention is applicable to situations where the thruster is installed upright or obliquely, and fully considers the influence of the three-axis coupling of the thruster torque. It can generate a three-axis uncoupled control torque through pulse width modulation;

[0053] (3) The present invention divides the thrusters into six groups according to the six axial directions of ±X, ±Y, and ±Z, and dynamically configures the selected thrusters according to the sign of the command torque; the thrusters controlling a single axial direction can be a single thruster, or the thrusters in the same group can work in combination at the same time; the thrusters in the same group can serve as backup for each other, thereby improving the reliability of the system; the thrusters in the same group working simultaneously can increase the control torque size and enhance the control capability. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 is a flow chart of the method of the present invention;

[0055] Figure 2 Schematic diagram of the thruster layout of the present invention. DETAILED DESCRIPTION

[0056] The present invention provides a spacecraft thruster distribution and pulse width modulation method based on a dynamic inverse matrix, which comprises the following steps:

[0057] S1. Calculate the torque matrix T generated by each thruster based on the thruster's installation position, thrust magnitude, and thrust direction.

[0058] S2. Determine the control direction of each thruster and group the thrusters according to their control direction;

[0059] S3. Preselect the thruster that controls the positive direction of the three axes from the grouped controllers, and generate the torque matrix T corresponding to the preselected three-axis positive axial thruster. ctrl_yx , combined with the command control torque to calculate the jet pulse width and duration of the three axes;

[0060] S4. Reselect the thruster according to the calculated sign of the three-axis jet pulse width and obtain the dynamic torque matrix T corresponding to the reselected thruster. ctrl ;

[0061] S5. Calculate the jet pulse width of each thruster based on the matrix inversion algorithm according to the command torque sent by the host computer and the dynamic torque matrix of the reselected thruster;

[0062] S6. When the host computer sends a new command torque, it returns to S3 and iterates again, and dynamically determines the thruster used in each axis and its jet pulse width in real time.

[0063] The step S1 comprises:

[0064] Based on the thruster installation position P, thrust direction D, thrust magnitude F, and the aircraft center of mass p under the aircraft layout system, the torque matrix T generated by the thruster is calculated.

[0065] The thruster installation position matrix is ​​P = [P1 P2 ... P i ... P n ] 3×n , where P i is a 3×1 column vector representing the installation location of the i-th thruster, where i = 1, 2, ..., n, and n is the number of thrusters. The installation location data can be accurately measured on the ground.

[0066] The thrust direction of the thruster is opposite to the thruster nozzle. The cosine value of the angle between the thrust direction and the three axes is the 3×1 unit vector D representing the direction of the thrust vector. i ,i=1,2,...,n。 The value matrix of the thrust vector direction vector of each thruster is recorded as D=[D1 D2 ... D i ... D n ] 3×n The thrust direction can be accurately measured on the ground.

[0067] The thrust matrix of the thruster is F=[f1f2...f i ... f n ] 1×n , f i is the thrust of each thruster, i = 1, 2, ..., n. The thrust vector can be accurately calibrated on the ground.

[0068] Then the torque matrix T of all thrusters can be calculated as

[0069] T=[T1T2 ... T i ... T n ]

[0070] cross(P1-p,f1D1),cross(P2-p,f2D2),...,cross(P i -p,f i D i ),...,cross(P n -p,f n D n ) (1)

[0071] Where, T i is the torque vector generated by the i-th thruster. The center of mass p of the aircraft can be calculated based on the remaining amount of liquid in the tank. cross() represents the vector cross product.

[0072] S2. Determine the control direction of each thruster and group them according to their control direction, that is, determine the control direction of each thruster and divide them into six groups: ±X, ±Y, and ±Z. Specifically:

[0073] When the torque vector of a thruster has unequal components in the three axes, the torque vector generated by each thruster is grouped according to the maximum value and its sign in the three axes (to determine the control direction of the thruster);

[0074] When the torque vector of a thruster has the smallest component on one axis and the components on the other two axes are equal, one of the axes is designated as the control direction of the thruster;

[0075] Alternatively, when two thrusters are mounted symmetrically relative to the aircraft's center of mass and exert opposite thrusts, forming a torque couple, the combined torque of the two thrusters is maximized along one of the three X, Y, and Z axes, while the other two axes are relatively small. The direction corresponding to the axis with the maximum torque is the control direction of the two thrusters. A well-designed thruster layout can ensure that the torque components along the other two axes are small and close to zero.

[0076] Finally, it can be divided into six groups of six axes, namely ±X, ±Y, and ±Z, under the aircraft system.

[0077] S3. Pre-select the thrusters controlling the positive direction of the three axes from the grouped controllers, generate the torque matrix corresponding to the pre-selected positive axial thrusters, and calculate the jet pulse width duration of the three axes in combination with the command control torque.

[0078] The step S3 comprises:

[0079] Preselect the thruster that controls the positive axis among the three axes X, Y, and Z, and generate the torque matrix T corresponding to the preselected positive axis thruster ctrl_yx =[T ctrlx_yx T ctrly_yx T ctrlz_yx ] 3×3 , T ctrlx_yx、T ctrlx_yx 、T ctrlx_yx They are: the torque vectors generated by the thrusters that are selected to control the +X axis, +Y axis, and +Z axis in the torque matrix T generated by the thrusters;

[0080] Control the torque vector T according to the instructions given by the host computer c =[T cx T cy T cz ] T , and the torque matrix T corresponding to the pre-selected positive axial thruster ctrl_yx =[T ctrlx_yx T ctrly_yx T ctrlz_yx ] 3×3 , calculate the jet pulse width duration t of the three axes onx_yx , t ony_yx , t onz_yx , as shown in the following formula (2):

[0081]

[0082] Where, t s is the control period. onj_yx , j = x, y, z is the pre-calculated jet pulse width duration of the three-axis thruster. is the moment matrix T ctrl_yx The inverse of.

[0083] For example, assuming n=6, the thrusters in step S2 are grouped as +X: T1; -X: T2; +Y: T3; -Y: T4; +Z: T5; -Z: T6. Then T ctrl_yx =[T1T3T5] 3×3 .

[0084] S4. Re-determine the thruster of the corresponding axis according to the sign of the three-axis jet pulse width, and obtain the dynamic torque matrix corresponding to the re-selected thruster;

[0085] The step S4 comprises:

[0086] According to the signs of the jet pulse duration of the three axes calculated in step S3, if the sign of the jet pulse duration of a certain axis is negative, the thruster that controls the reverse direction of the axis is reselected and replaced, and the torque matrix T of the selected thruster is obtained. ctrl =[T ctrlx T ctrly T ctrlz ] 3×3 ;

[0087] If the sign of the jet pulse width of a certain axis is a negative value, the thruster that controls the reverse direction of the axis is reselected and replaced, and the identification vector of the selection of the three-axis thruster is further generated. The identification vectors corresponding to the X-axis, Y-axis, and Z-axis are respectively recorded as vectors E x 、E y 、E z :

[0088] E x 、E y 、E z Initialize to 0 vector:

[0089]

[0090] E j is an n×1 column vector, j=x,y,z;

[0091] When the i-th thruster is selected to control the j-axis, then in E j The i-th position in is set to 1, and the rest of the positions remain unchanged.

[0092] For example, assuming n=6, the thrusters in step S2 are grouped as +X: T1; -X: T2; +Y: T3; -Y: T4; +Z: T5; +Z: T6;

[0093] Let E x =E y =E z =[000000] T , E j , j = x, y, z, is an n × 1 column vector representing the selection flag of each thruster, with "1" indicating use and "0" indicating non-use. The selected thruster, the corresponding torque matrix, and the thruster's use flag are determined based on the sign of the command control torque vector in the current control cycle.

[0094] If t onx_yx >0, then T ctrlx =T1,E x (1)=1; otherwise T ctrlx =T2,E x (2) = 1; E x The other positions in remain at 0;

[0095] If t ony_yx >0, then T ctrly =T3,E y (3)=1; otherwise T ctrly =T4,E y (4) = 1; E y The other positions in remain at 0;

[0096] If t onz_yx >0, then Tctrlz =T5,E z (5) = 1; otherwise T ctrlz =T6,E z (6) = 1; E z The other positions in remain at 0.

[0097] That is, the selected thruster is set to 1, and the other unused thrusters are set to 0.

[0098] S5. Calculate the jet pulse width of each thruster based on the matrix inversion algorithm according to the command torque and dynamic torque matrix given by the host computer;

[0099] The step S5 comprises:

[0100] S51, according to the actual jet angular momentum and the command torque angular momentum are equal, we can get

[0101] T c ×t s =T ctrl ·]t onx t ony t onz ] T

[0102] Where, t s is the control period. oni , i=x,y,z is the working time of the three-axis thruster. Then the actual jet pulse width duration of the three-axis thruster is t onx , t ony , t onz for

[0103]

[0104] Dynamic configuration torque matrix T ctrl , control torque T for each axis ctrlx 、T ctrly 、T ctrlz The thrusters can be dynamically updated based on the sign of the control torque command and the thrusters selected for each axis. ctrl The main diagonal is dominant and full rank is reversible. Equation (3) always has a solution within the range of the command torque to the control capability.

[0105] S52. Calculate the jet pulse duration of each thruster based on the actual jet pulse duration of the three-axis thruster and the selection of the three-axis attitude control thruster.

[0106] First, the three-axis jet pulse width is limited. The minimum jet pulse width is the minimum jet duration T that the thruster can respond to. on_min , the maximum value of the jet pulse width is the control period ts , as shown below:

[0107]

[0108] Finally, calculate the jet pulse width of each thruster according to the selection of the three-axis thrusters t i is the jet pulse width duration of the i-th thruster.

[0109] T on =E x ·t onx +E y ·t ony +E z ·t onz

[0110] T on A vector of pulse width and duration instructions sent to each thruster.

[0111] S6. When the host computer sends a new command torque, it returns to S3 and iterates again, and dynamically determines the thruster used in each axis and its jet pulse width in real time.

[0112] Example:

[0113] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0114] The process of the thruster distribution and pulse width modulation method of the invention is as follows Figure 1 shown.

[0115] S1. Calculate the description of the torque vector generated by each thruster under this system based on the thrust size, thrust direction and installation position of the thruster;

[0116] Assume that the position of the aircraft's center of mass layout system is p = [1.82, -0.001, -0.017] m, and the aircraft's thruster layout is as follows: Figure 2 As shown, there are 12 thrust units with a total thrust of f i =10N (i=1,2,…12), the installation position, installation direction and generated torque of the thruster are shown in the following table.

[0117] Table 1 Thruster installation information

[0118]

[0119] The thrust direction Di is the cosine value of the angle between the thrust vector and the three axes, such as

[0120] D1=[cos(0)cos(90°)cos(90°)] T (1)

[0121] Then, the torque generated by each thruster is calculated using formula (2), as shown in the table above.

[0122]

[0123] As can be seen from the table above, the torque generated by each thruster is not decoupled on the three axes. Therefore, pulse width modulation technology is required. By coordinating the three-axis thrusters, decoupled torque can be generated on the three axes.

[0124] The thruster installation position is fixed and can be precisely measured. When the vehicle's center of mass continuously changes with fuel consumption, especially when uneven fuel tank discharge results in significant lateral eccentricity, if the torque of the control thrusters is not changed, control accuracy will deteriorate and the angular momentum unloading accuracy of the momentum wheel will be affected. By updating the center of mass position p according to Equation (2), the control torque information generated by each thruster can be updated, thereby improving control accuracy.

[0125] S2. Group the thrusters into six axial groups according to the sign of the maximum value of the torque vector element of each thruster, namely ±X, ±Y, and ±Z groups;

[0126] The thruster groups are shown in the following table:

[0127] Table 2 Six axial groups of thrusters

[0128]

[0129] As can be seen from the table above, according to this allocation method, there are multiple options for thrusters in each axis. In the event of a thruster failure, there are multiple alternative options.

[0130] S3. Calculate the jet pulse width of the three axes according to the torque matrix corresponding to the pre-selected positive axial thruster;

[0131] If the thruster combination selected is Txp=33H, Txn=33H, Typ=33H, Tyn=33H, Tzp=44H, Tzn=44H. Then

[0132] T ctrl_yx =[T ctrlx_yx T ctrly_yx T ctrlz_yx ] 3×3 =[T9+T 12 T4+T 13 T5+T8] 3×3(3)

[0133] The three-axis jet pulse width is further calculated as:

[0134]

[0135] Where, t s is the control period. oni_yx ,i=x,y,z is the jet pulse width of the three-axis thrust thruster. is the moment matrix T ctrl_yx The inverse of.

[0136] S4. Based on the signs of the three-axis jet pulse widths calculated in step S3, dynamically determine the thruster to be used in each axis in real time, and obtain the dynamic torque matrix corresponding to the selected thruster;

[0137] First, determine the thruster combination used in each axial direction, such as Txp=33H, Txn=33H, Typ=33H, Tyn=33H, Tzp=44H, Tzn=44H.

[0138] Assume that the usage sign vector of the three-axis thruster is:

[0139]

[0140] Indicates the usage of each thruster, where "1" means it is in use and "0" means it is not in use. At the beginning of each control cycle, E x 、E y 、E z Initialize to 0 vector.

[0141] According to the signs of the jet pulse widths of the three axes calculated in step S3, the thruster of each axis to be used is determined, and the torque matrix T of the selected thruster is obtained. ctrl =]T ctrlx T ctrly T ctrlz ] 3×3 ;

[0142] If t onx_yx >0, then T ctrlx =T9+T 12 , E x (9) = E x (12) = 1; otherwise T ctrlx =T 10 +T 11 , E x (10) = E x (11) = 1;

[0143] If t ony_yx >0, then T ctrly=T4+T 13 , E y (4) = E y (13) = 1; otherwise T ctrly =T3+T 14 , E y (3) = E y (14) = 1;

[0144] If t onz_yx >0, then T ctrlz =T5+T8,E z (5) = E z (8) = 1; otherwise T ctrlz =T6+T7,E z (6) = E z (7)=1.

[0145] In each control cycle, T ctrl All control torque T according to the command c Dynamic update. According to the sign of the three-axis command control torque, when the thruster combination of each axis is selected, T ctrl There are 8 combinations in total.

[0146] If T cx >0, T cy >0, T cz >0, select the torque T corresponding to the thruster ctrl for

[0147]

[0148] S5. Calculate the jet pulse width of each thruster based on the command torque and the dynamic torque matrix. Calculate the jet pulse width of each thruster based on the matrix inversion algorithm.

[0149] S5-1, according to the angular momentum generated by the jet and the command torque is equal, we can get

[0150] T c ×t s =T ctrl ·[t onx t ony t onz ] T (7)

[0151] Where ts is the control period. oni , i=x,y,z is the working time of the three-axis thruster. Then the jet time of the three-axis thruster is

[0152]

[0153] Dynamic configuration torque matrix T ctrl , control torque T for each axis ctrlx 、T ctrly 、T ctrlz The thrusters can be dynamically updated based on the sign of the control torque command and the thrusters selected for each axis. ctrl The main diagonal is dominant and full rank is reversible. Equation (6) always has a solution within the range of the command torque to the control capability.

[0154] S5-2. Calculate the jet duration of each thruster based on the jet duration of the three-axis thruster and the selection of the three-axis attitude control thruster.

[0155] First, the three-axis jet pulse width is limited. The minimum pulse width is the minimum jet duration T that the thruster can respond to. on_min , the maximum value is the control period t s , as shown below:

[0156]

[0157] Finally, calculate the jet pulse width of each thruster according to the selection of the three-axis thrusters t i is the jet pulse width duration of the i-th thruster.

[0158] T on =E x ·t onx +E y ·t ony +E z ·t onz (10)

[0159] T on A vector of pulse width and duration instructions sent to each thruster.

[0160] S6. When the host computer sends a new command torque, it returns to S3 and iterates again, and dynamically determines the thruster used in each axis and its jet pulse width in real time.

[0161] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and such modifications or substitutions are intended to be within the scope of protection of the present invention. Therefore, the scope of protection of the present invention shall be subject to the scope of protection of the claims.

[0162] The contents not described in detail in the specification of the present invention belong to the prior art known to those skilled in the art.

Claims

1. A spacecraft thruster distribution and pulse width modulation method based on dynamic inverse matrix, characterized in that include: S1. Calculate the torque matrix T generated by each thruster based on the thruster's installation position, thrust magnitude, and thrust direction. S2. Determine the control direction of each thruster and group the thrusters according to their control direction; S3. Preselect the thruster that controls the positive direction of the three axes from the grouped controllers, and generate the torque matrix T corresponding to the preselected three-axis positive axial thruster through the torque matrix T. ctrl_yx , combined with the command control torque sent by the host computer to calculate the jet pulse width and duration of the three axes; S4. Reselect the corresponding thruster according to the calculated sign of the three-axis jet pulse width, generate the three-axis thruster selection identification vector, and reselect the dynamic torque matrix T corresponding to the thruster from the torque matrix T. ctrl ; S5, according to the command sent by the host computer, control the torque and reselect the dynamic torque matrix T of the thruster ctrl , calculate the jet pulse width of each thruster based on the matrix inversion algorithm; S6. When the host computer sends a new command to control the torque, it returns to S3 and iterates again, and dynamically determines the thruster used in each axis and its jet pulse width in real time.

2. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 1, characterized in that: The thruster installation position matrix is ​​P = [P1 P2 ... P i ...P n ] 3×n , where P i is a 3×1 column vector, representing the installation position of the i-th thruster, i = 1, 2, ..., n, where n is the number of thrusters. The installation position data is obtained through precise ground measurement; The thrust direction of the thruster is opposite to the thruster nozzle. The cosine value of the angle between the thrust direction and the three axes is the 3×1 unit vector D representing the direction of the thrust vector. i The value matrix of the thrust vector direction vector of each thruster is recorded as D = [D1D2...D i ...D n ] 3×n ;The thrust direction is obtained through precise measurement on the ground; The thrust matrix of the thruster is F=[f1 f2...f i ...f n ] 1×n , f i The thrust size and thrust vector of each thruster are obtained through precise calibration on the ground.

3. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 2, characterized in that: The torque matrix T generated by the thruster is: T=[T1 T2...T i ...T n ]=[cross(P1-p,f1D1),cross(P2-p,f2D2),...,cross(P i -p,f i D i ),...,cross(P n -p,f n D n )] Among them, T i is the torque vector generated by the i-th thruster; p is the center of mass of the aircraft, which is calculated based on the remaining liquid in the tank; cross() represents the vector cross product.

4. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 1, characterized in that: Determine the control direction of each thruster and group them according to their control direction, specifically: When the components of the torque vector of the thruster in the three axes are not equal, the control direction of the thruster is determined according to the maximum value of the torque vector along the three axes and its sign. When the thruster torque vector has the smallest component on one axis and the components on the other two axes are equal, one of the axes is designated as the control direction of the thruster; Alternatively, when the two thrusters are installed symmetrically about the center of mass and have opposite thrust directions, forming a couple, the resultant torque of the two thrusters is such that the torque on one of the three axes (X, Y, and Z) is the largest, while the torque on the other two axes is approximately zero. The direction corresponding to the axis with the largest torque is the control direction of the two thrusters. Finally, it is divided into six axes: +X, -X, +Y, -Y, +Z, and -Z, with a total of six groups.

5. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 1, characterized in that: Preselect the thruster that controls the positive direction of the three axes, generate the torque matrix corresponding to the preselected three-axis positive axial thruster, and calculate the jet pulse width duration t of the three axes in combination with the command control torque. onx_yx , t ony_yx , t onz_yx , specifically: The command control torque vector sent by the host computer is T c =[T cx T cy T cz ] T ; Preselect the thruster that controls the positive axis among the three axes X, Y, and Z, and generate the torque matrix T corresponding to the preselected positive axis thruster ctrl_yx =[T ctrlx_yx T ctrly_yx T ctrlz_yx ] 3×3 , T ctrlx_yx 、T ctrlx_yx 、T ctrlx_yx They are: the torque vectors generated by the thrusters that are selected to control the +X axis, +Y axis, and +Z axis in the torque matrix T generated by the thrusters; Calculate the jet pulse width of the three axes: Where, t s is the control period; t onx_yx , t ony_yx , t onz_yx These are the pre-calculated jet pulse durations of the thrusters controlling the +X axis, +Y axis, and +Z axis respectively; T ctrl_yx The inverse of.

6. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 1, characterized in that: According to the calculated sign of the three-axis jet pulse width, the corresponding thruster is re-determined, and the dynamic torque matrix T corresponding to the re-selected thruster is obtained. ctrl , specifically: According to the signs of the jet pulse durations of the three axes calculated in step S3, if the sign of the jet pulse duration of a certain axis is a negative value, the thruster controlling the reverse direction of the axis is reselected and replaced; Replace T with the controller's torque vector reselected from the torque matrix T ctrl_yx The torque vector of the corresponding position generates the dynamic torque matrix T of the reselected thruster ctrl :T ctrl =]T ctrlx T ctrly T ctrlz ] 3×3 .

7. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 1, characterized in that: When generating the three-axis thruster selection identification vector, the thruster selection identification vectors corresponding to the X-axis, Y-axis, and Z-axis are respectively recorded as vectors E x 、E y 、E z , specifically: E x 、E y 、E z Initialize to 0 vector: E j is an n×1 column vector, j=x,y,z; When the i-th thruster is selected to control the j-axis, then in E j The i-th position in is set to 1, and the rest of the positions remain unchanged.

8. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 1, characterized in that: According to the command control torque and the dynamic torque matrix of the reselected thruster, the jet pulse width of each thruster is calculated based on the matrix inversion algorithm, specifically: The actual jet pulse width of the three-axis thruster is calculated based on the principle that the actual jet angular momentum is equal to the angular momentum generated by the command control torque. Calculate the jet pulse duration of each thruster based on the actual jet pulse duration of the three-axis thruster and the selection of the three-axis attitude control thruster.

9. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 8, characterized in that: The actual jet pulse width duration t of the three-axis thruster onx , t ony , t onz for: Where: t s is the control period, T ctrl To reselect the dynamic torque matrix of the thruster, T c The command sent by the host computer controls the torque vector.

10. The method for spacecraft thruster distribution and pulse width modulation based on dynamic inverse matrix according to claim 9, characterized in that: According to the actual jet pulse duration of the three-axis thruster and the selection of the three-axis attitude control thruster, the jet pulse duration of each thruster is calculated as follows: For the three-axis jet pulse width t onj Perform amplitude limiting processing, j = x, y, z, the minimum value of the jet pulse width is the minimum jet duration T that the thruster can respond to on_min The maximum duration of the jet pulse is the control period t s , as shown below: Calculate the jet pulse width of each thruster based on the selection of the three-axis thruster t i is the jet pulse width duration of the i-th thruster; T on =E x ·t onx +E y ·t ony +E z ·t onz T on is a vector consisting of the pulse width and duration sent to each thruster; E x 、E y 、E z Select identification vectors for the thrusters corresponding to the X-axis, Y-axis, and Z-axis respectively.

Citation Information

Cited By

  • Control distribution method for spacecraft with eight-thruster structure

    CN121376220A