Single-axis pointing pure magnetic control algorithm for spacecraft based on geometrical analysis
11155367 · 2021-10-26
Assignee
Inventors
- Yimin Kou (Guangdong, CN)
- Bibo Guo (Guangdong, CN)
- Lijun Xue (Guangdong, CN)
- Shilong Wei (Guangdong, CN)
- Yanbo Ji (Guangdong, CN)
- Qin Yuan (Guangdong, CN)
- Yingchun Zhang (Guangdong, CN)
Cpc classification
B64G1/245
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Provided is a single-axis pointing pure magnetic control algorithm for a spacecraft based on geometrical analysis to realize single-axis pointing control of the spacecraft through the pure magnetic control algorithm in which a magnetic torque is only output by a magnetorquer to interact with a geomagnetic field to generate a control torque. The algorithm uses a spatial geometry method to obtain an optimally controlled magnetic torque direction, thereby designing a PD controller. The problem that the traditional magnetic control method is low in efficiency and even cannot be controlled is overcome. The algorithm is simple and easy, can be used in the attitude control field of spacecrafts, and achieves the pointing control in point-to-sun of a solar array and point-to-ground of antennae.
Claims
1. An attitude control method for a spacecraft, wherein the attitude control method comprises the following steps: {circle around (1)} acquiring following data: coordinates of a target azimuth vector {right arrow over (OA)}, a body axis vector {right arrow over (OB)} and a geomagnetic field vector {right arrow over (B)} in a body system and an aircraft inertia matrix I; {circle around (2)} acquiring a pair of non-parallel vectors X and Y in a normal plane of a geomagnetic field; {circle around (3)} calculating a unit normal vector Z′ of an angular acceleration plane through affine transformation of the aircraft inertia matrix I:
{right arrow over (OE)}=NORM(({right arrow over (OB)}+{right arrow over (OA)})×({right arrow over (OB)}×{right arrow over (OA)})×Z′) where NORM is a vector normalization operator; {circle around (5)} adjusting control coefficients and calculating a magnetic control torque T, wherein the magnetic control torque T must be in the normal plane of the magnetic field in this case, and the magnetic control torque T is calculated specifically by: calculating a magnitude and a direction of a rotation angular acceleration,
ω.sub.r=(K.sub.pβ{right arrow over (OE)})sign({right arrow over (OE)}.Math.({right arrow over (OB)}×{right arrow over (OA)}))+K.sub.m(ω.Math.{right arrow over (OE)}) (17) wherein Kp refers to a control coefficient; β is an inclined angle between the body axis vector {right arrow over (OB)} and the target azimuth vector {right arrow over (OA)}; sign is to obtain a positive/negative operator which is valued as 1 when a dot product of the vectors {right arrow over (OE)} and {right arrow over (OD)} is positive or valued as −1 when the dot product is negative, or valued as 0 when the body axis vector and the target azimuth vector are perpendicular; an optimal rotation axis {right arrow over (OD)} is perpendicular to {right arrow over (OA)} and {right arrow over (OB)}; Km refers to a control coefficient for controlling an angular velocity in a direction of the vector {right arrow over (OE)}; next, calculating a damped angular acceleration:
{dot over (ω)}.sub.d=K.sub.d[ω−(ω.Math.Z′)Z′] wherein Kd refers to a control coefficient; ω is the instantaneous angular velocity of the star, (ω.Math.Z′)Z′ is a component perpendicular to the angular acceleration plane in ω, so ω−(ω.Math.Z′)Z′ is a component in the angular acceleration plane in ω; and then calculating a torque required to generate the rotation angular acceleration and the damped angular acceleration:
T=I({dot over (ω)}.sub.r+{dot over (ω)}.sub.d); {circle around (6)} calculating a required control magnetic torque M:
2. The attitude control method of claim 1, wherein the step {circle around (2)} is specifically: calculating a cross product of {right arrow over (B)} and any vector that is not parallel to the geomagnetic field vector {right arrow over (B)} to obtain a vector X, and calculating a cross product of X and {right arrow over (B)} to obtain Y.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION OF THE INVENTION
(10) The invention will now be further described with reference to the accompanying drawings and specific embodiments.
(11) Lemma 1: Two unit vectors, {right arrow over (OA)} and {right arrow over (OB)}, are known. A unit vector {right arrow over (OC)} is on the bisecting line of the inclined angle formed by the above-mentioned two vectors. The unit vector
(12)
is perpendicular to the plane (Plane AOB) where {right arrow over (OA)} and {right arrow over (OB)} are located, {right arrow over (OB)} can coincide with {right arrow over (OA)} after rotating a certain angle around any rotation axis passing the point O and located in Plane DOC.
(13) It is proved as follows: Any unit vector axis {right arrow over (OE)} passing O and located in the plane DOC is selected, then there must be constants a and b, and then:
{right arrow over (OE)}=a{right arrow over (OC)}+b{right arrow over (OD)} (4)
(14) Because the unit vector {right arrow over (OC)} is on the bisecting line of ∠AOB, and then
(15)
(16) Let ∥{right arrow over (OA)}+{right arrow over (OB)}∥=c, (5) is substituted into (4), and then,
(17)
(18) The dot products of the vectors are further calculated as follow:
(19)
(20) Since each vector is a unit vector and {right arrow over (OD)} is perpendicular to {right arrow over (OA)} and {right arrow over (OB)}, the following results are established:
{right arrow over (OD)}.Math.{right arrow over (OA)}={right arrow over (OD)}.Math.{right arrow over (OB)}=0
{right arrow over (OA)}.Math.{right arrow over (OA)}={right arrow over (OB)}.Math.{right arrow over (OB)}=1
{right arrow over (OA)}.Math.{right arrow over (OB)}={right arrow over (OB)}.Math.{right arrow over (OA)} (9)
(21) (9) is substituted into (7) and (8), and then,
{right arrow over (OE)}.Math.{right arrow over (OA)}={right arrow over (OE)}.Math.{right arrow over (OB)} (10)
(22) Thus it is concluded that ∠AOE=∠BOE, that is to say, {right arrow over (OB)} must coincide with {right arrow over (OA)} after rotating a certain angle around {right arrow over (OE)}, and the lemma is proved.
(23) The main function of the lemma is to expand the selection range of the rotation axis. In addition to the optimal rotation axis {right arrow over (OD)}, rotation around a series of sub-optimal rotation axes in the same plane also can result in that the body axis points to the target axis. For the convenience, the plane DOC is referred to as a rotation axis plane. It should be noted that when the inclined angle of {right arrow over (OE)} and {right arrow over (OD)} is less than 90°, the angle of rotation required is less than 180°; when the inclined angle is larger than 90°, the angle of rotation required is larger than 180°, and the angle of rotation required is exactly 180° when they are perpendicular.
(24) According to the rigid body dynamics equation, it is assumed that the rotational inertia matrix of the aircraft is I and the instantaneous angular velocity is ω, the angular acceleration of the aircraft under the control torque T is calculated as follows:
{dot over (ω)}=I.sup.−1(T−ω×Iω) (11)
(25) When the instantaneous angular velocity of the star is small, the items in ω×Iω are all second-order infinitesimal and can be approximately ignored, and then
{dot over (ω)}≈I.sup.−1T (12)
(26) Since the torque T is located in the normal plane of the local geomagnetic field B, T must be linearly represented by a pair of non-parallel vectors X and Y in the normal plane, that is, for any magnetic control torque T, the following is must concluded:
T=aX+bY (13)
where a and b are constant coefficients; the constants are substituted into (12), then
{dot over (ω)}≈a(I.sup.−1X)+b(I.sup.−1Y)=aX′+bY′ (14)
(27) According to the parallel retention of affine coordinate transformation, since X and Y are not parallel, X′ and Y′ must also be non-parallel after affine transformation, an angular acceleration generated by any torque T in the normal plane (the plane formed by X and Y) of the magnetic field is located in the plane formed by the vectors X′ and Y′ (the plane is simply referred to as the angular acceleration plane), thereby forming one-to-one mapping from the normal plane (also regarded as a magnetic torque plane) of the magnetic field to the angular acceleration plane by affine coordinate transformation. A unit normal vector of the angular acceleration plane may be obtained according to the following equation:
(28)
(29) Obviously, Z′ is an ideal normal vector of the angular acceleration plane.
(30) In summary, when the instantaneous angular velocity is very small, the angular acceleration generated by the magnetic control torque in the normal plane of the magnetic field is approximately located in the angular acceleration plane. According to the conclusion of Lemma 1, the angular acceleration control can be performed according to the following method:
(31) (1) when the angular acceleration plane is parallel to the rotation axis plane, a rotation angular acceleration {dot over (ω)}.sub.r can be generated along the direction of the optimal rotation axis {right arrow over (OD)}, so that a tendency of rotating {right arrow over (OA)} to {right arrow over (OB)} is generated;
(32) (2) when the angular acceleration plane is not parallel to the rotation axis plane, the two planes must have an intersection line, and a rotation angular acceleration {dot over (ω)}.sub.r is generated along the intersection line {right arrow over (OE)}, and a tendency of rotating {right arrow over (OA)} to {right arrow over (OB)} is also generated, as shown in
(33) (3) the modulus value of the rotation angular acceleration {dot over (ω)}.sub.r should be proportional to the inclined angle of {right arrow over (OA)} and {right arrow over (OB)} and moreover the problem that large overshoot is caused by the angular velocity on {right arrow over (OE)} can be prevented;
(34) (4) in order to ensure the system stability, angular velocity damping should be performed, that is, a damped angular acceleration {dot over (ω)}.sub.d is generated in the opposite direction of the projection of the instantaneous angular velocity of the aircraft in the angular acceleration plane, and the modulus value of the damped angular acceleration is proportional to the modulus value of the corresponding projection;
(35) (5) the angular acceleration generated by the actual control torque output should be the vector sum of the rotation angular acceleration {dot over (ω)}.sub.r and the damped angular acceleration {dot over (ω)}.sub.d.
(36) The direction of rotation angular acceleration {dot over (ω)}.sub.r can be calculated according to the following equation:
(37)
where NORM is a vector normalization operator. Since the vector {right arrow over (OC)}×{right arrow over (OD)} is the normal of the rotation axis plane and Z′ is the normal of the angular acceleration plane, so {right arrow over (OE)} is perpendicular to the normals of both the rotation axis plane and the angular acceleration plane, that is, both in the rotation axis plane and the angular acceleration plane (the two planes intersect with each other), X and Y are any two non-parallel vectors in the normal plane of the magnetic field. The magnitude and direction of the rotation angular acceleration can be calculated as follows:
ω.sub.r=(K.sub.pβ{right arrow over (OE)})sign({right arrow over (OE)}.Math.({right arrow over (OB)}×{right arrow over (OA)}))+K.sub.m(ω.Math.{right arrow over (OE)}) (17)
where K.sub.p refers to a control coefficient; β is the inclined angle of the body axis and the target axis; sign is to obtain a positive/negative operator which is valued as 1 when the dot product of the vectors {right arrow over (OE)} and {right arrow over (OD)} is positive (the inclined angle is less than 90°) or valued as −1 when the dot product is negative, or valued as 0 when the body axis and the target axis are perpendicular; K.sub.m refers to a control coefficient for controlling the angular velocity in the direction {right arrow over (OE)}. A damped angular acceleration can be calculated according to the following equation:
{dot over (ω)}.sub.d=K.sub.d[ω−(ω.Math.Z′)Z′] (18)
where K.sub.d refers to a control coefficient for dampening an angular velocity component in the angular acceleration plane; ω is the instantaneous angular velocity of the star, (ω.Math.Z′)Z′ is a component perpendicular to the angular acceleration plane in ω, so ω−(ω.Math.Z′)Z′ is a component in the angular acceleration plane in ω. A torque required to generate the rotation angular acceleration and the damped angular acceleration is then calculated as follows:
T=I(ω.sub.r+ω.sub.d) (19)
where I is the rotational inertia of the spacecraft. It can be seen from the above derivation that since {dot over (ω)}.sub.r+{dot over (ω)}.sub.d is in the angular acceleration plane, the torque T must be in the normal plane of the magnetic field. Then, the required control magnetic torque M can be obtained by the equation (2). Since the torque T is perpendicular to the magnetic field B, it can be completely generated by a magnetorquer.
(38) In summary, as shown in
(39) {circle around (1)} acquiring the following data: coordinates of three vectors, a target azimuth vector {right arrow over (OA)}, a body axis vector {right arrow over (OB)} and a geomagnetic field vector {right arrow over (B)}, in a body system and an aircraft inertia matrix I;
(40) {circle around (2)} acquiring a pair of non-parallel vectors X and Y in a normal plane of a geomagnetic field, and calculating a cross product of {right arrow over (B)} and any vector that is not parallel to the geomagnetic field vector {right arrow over (B)} to obtain a vector X, and calculating a cross product of X and {right arrow over (B)} to obtain Y;
(41) {circle around (3)} acquiring a unit normal vector Z′ of an angular acceleration plane according to the equations (14) and (15);
(42) {circle around (4)} acquiring {right arrow over (OE)} according to the equation (16);
(43) {circle around (5)} adjusting control coefficients and calculating a magnetic control torque T according to the equations (17), (18) and (19), wherein T must be in the normal plane of the magnetic field in this case; and
(44) {circle around (6)} calculating the required control magnetic torque M according to the equation (2).
(45) The algorithm of the invention is essentially a PD control method based on geometric analysis and affine coordinate transformation. The algorithm is simple and easy to implement, and can be completely applied to practical engineering applications.
(46) The simulation test is carried out under Matlab. The pure magnetic control is used to cause the Z axis of the star to point to the center of the earth to form a slowly changing follow-up system. The simulation parameters are shown in Table 1:
(47) TABLE-US-00001 TABLE 1 Simulation parameters Orbital attitude 500 Km Orbital inclination 30° Orbital eccentricity 0 Initial pointing deviation 92° Each axial initial angular velocity 0.2°/s Three-axis residual magnetism 0.6 Am.sup.2 Maximum output of magnetorquer 25 Am.sup.2 Kp 0.001 Km −0.001 Kd −0.01
(48) The simulation results are as shown in
(49) The foregoing is a further detailed description of the invention in connection with the specific preferred embodiments, and it is not to be determined that the specific embodiments of the invention are limited to these descriptions. Multiple simple deductions or replacements made by those skilled in the field to which the invention belongs, without departing from the spirit and scope of the invention, shall be considered as falling within the scope of the invention.