Method and apparatus for singularity avoidance for control moment gyroscope (CMG) systems without using null motion

09567112 ยท 2017-02-14

Assignee

Inventors

Cpc classification

International classification

Abstract

A method is described for avoiding gyroscopic singularities during attitude correction to a system, such as a spacecraft having a CMG array. The method receives a corrective torque vector and gimbal angle values for each of at least three gimbals within the CMG array. The method generates a Jacobian matrix A as a function of gimbal angle values . The method calculates a determinant D of Jacobian matrix A. If the determinant is not equal to zero, it is not singular, and the method calculates a gimbal rate {dot over ()} using a pseudo-inverse steering law equation. If the determinant is equal to zero, it is singular, and the method calculates a gimbal rate {dot over ()} using a singularity avoidance steering law equation. The gimbal rate {dot over ()} is output and can be applied to a CMG array resulting in applied torque to a spacecraft and attitude correction.

Claims

1. A method for avoiding gyroscopic singularities during attitude correction of a spacecraft, comprising: at least three gimbals within a control moment gyroscope (CMG) array; an attitude controller; and a computer apparatus comprising a processing component communicatively coupled to said at least three gimbals and to said attitude controller, said processing component performing a method for avoiding gyroscopic singularities during attitude correction, said method comprising: receiving a corrective torque vector from said attitude controller; receiving gimbal angle values from each of at least three gimbals within said CMG array; generating a Jacobian matrix A as a function of said gimbal angle values , said Jacobian matrix A including singular values; calculating a determinant D of said Jacobian matrix A; determining whether said determinant D is equal to zero; wherein when said determinant D is not equal to zero, calculating a gimbal rate {dot over ()} using a pseudo-inverse steering law equation; otherwise, wherein when said determinant D is equal to zero, calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation, wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a direct modification of singular values, comprising: modifying singular values of said Jacobian matrix A by directly modifying a value of .sub.r, where .sub.r is a smallest singular value; and outputting said gimbal rate {dot over ()} from said processing component to each of said at least three gimbals within said CMG array; and correcting the attitude of the spacecraft.

2. The method of claim 1, said method further comprising: generating said corrective torque vector based on a difference between a desired attitude and an actual attitude.

3. The method of claim 1, wherein said calculating a gimbal rate {dot over ()} using said singularity avoidance steering law equation comprises: utilizing a constrained singularity-robust inverse wherein a rate of change of said determinant D of said Jacobian matrix is constrained such that said determinant D quickly transients through zero.

4. The method of claim 3, wherein when said CMG array includes at least four gimbals, said method further comprising: iteratively generating said Jacobian matrix A until said determinant D is not zero, wherein a different set of three gimbals are selected from said at least four gimbals for each iteration.

5. The method of claim 1, wherein said calculating a gimbal rate {dot over ()} using said singularity avoidance steering law equation comprises: utilizing a singularity penetration using a unit-delay, wherein said utilizing a singularity penetration using said unit-delay comprises: holding said gimbal rate {dot over ()} to a last valid, non-singular value, {dot over ()}.sub.SW.

6. A computer based apparatus for avoiding gyroscopic singularities during attitude correction, comprising: a processing component configured to perform a method for avoiding gyroscopic singularities during attitude correction, said method comprising: receiving a corrective torque vector ; receiving gimbal angle values for each of at least three gimbals within a control moment gyroscope (CMG) array; generating a Jacobian matrix A as a function of said gimbal angle values , said Jacobian matrix A including singular values; calculating a determinant D of said Jacobian matrix A; determining whether said determinant D is equal to zero; wherein when said determinant D is not equal to zero, calculating a gimbal rate {dot over ()} using a pseudo-inverse steering law equation; otherwise, wherein when said determinant D is equal to zero, calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation, wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a direct modification of singular values, wherein said direct modification of singular values comprises: modifying singular values of said Jacobian matrix A by directly modifying a value of .sub.r, where .sub.r is a smallest singular value; and outputting said gimbal rate {dot over ()} from said processing component to each of said at least three gimbals within said CMG array; and outputting said gimbal rate {dot over ()} from said processing component; and correcting the attitude of the spacecraft.

7. The computer based apparatus of claim 6, said method further comprising: wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a constrained singularity-robust inverse inverse, wherein a rate of change of said determinant D of said Jacobian matrix is constrained such that said determinant D quickly transients through zero.

8. The computer based apparatus of claim 7, said method further comprising: wherein when said CMG array includes at least four gimbals, said method further comprising: iteratively generating said Jacobian matrix A until said determinant D is not zero, wherein a different set of three gimbals are selected from said at least four gimbals for each iteration.

9. The computer based apparatus of claim 6, said method further comprising: wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a singularity penetration using a unit-delay, wherein said utilizing a singularity penetration using said unit-delay comprises: holding said gimbal rate {dot over ()} to a last valid, non-singular value, {dot over ()}.sub.SW.

10. The computer based apparatus of claim 6, said method further comprising: generating said corrective torque vector based on a difference between a desired attitude and an actual attitude.

11. A non-transitory computer program storage component, said computer program storage component having stored therein program instructions executable by a computer processing component to perform a method for avoiding gyroscopic singularities during attitude correction, said method comprising: receiving a corrective torque vector ; receiving gimbal angle values for each of at least three gimbals within a CMG array; generating a Jacobian matrix A as a function of said gimbal angle values , said Jacobian matrix A including singular values; calculating a determinant D of said Jacobian matrix A; determining whether said determinant D is equal to zero; wherein when said determinant D is not equal to zero, calculating a gimbal rate {dot over ()} using a pseudo-inverse steering law equation; otherwise, wherein when said determinant D is equal to zero, calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation, wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a direct modification of singular values, wherein said direct modification of singular values comprises: modifying singular values of said Jacobian matrix A by directly modifying a value of .sub.r, where .sub.r is a smallest singular value; and outputting said gimbal rate {dot over ()}; and correcting the attitude of the spacecraft.

12. The non-transitory computer program storage component of claim 11, said method further comprising: wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a constrained singularity-robust inverse, wherein a rate of change of said determinant D of said Jacobian matrix A is constrained such that said determinant D quickly transients through zero.

13. The non-transitory computer program storage component of claim 12, wherein when said CMG array includes at least four gimbals, said method further comprising: repeating generating said Jacobian matrix A until said determinant D is not zero, wherein a different set of three gimbals are selected from said at least four gimbals for each repetition.

14. The non-transitory computer program storage component of claim 11, said method further comprising: wherein said calculating a gimbal rate {dot over ()} using a singularity avoidance steering law equation comprises: utilizing a singularity penetration using a unit-delay, wherein said utilizing a singularity penetration using a unit-delay comprises: holding said gimbal rate {dot over ()} to a last valid, non-singular value, {dot over ()}.sub.SW.

15. The non-transitory computer program storage component of claim 11, said method further comprising: generating said corrective torque vector based on a difference between a desired attitude and an actual attitude.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1a illustrates a system including a method for avoiding gyroscopic singularities during attitude correction in accordance with one embodiment of the invention.

(2) FIG. 1b illustrates a process flow diagram of the method of FIG. 1a in accordance with one embodiment of the invention.

(3) FIG. 2 illustrates a diagram of a pyramid CMG array.

(4) FIG. 3a illustrates a graphs of momentum trajectory results of a pyramid CMG array using a direct modification singularity avoidance steering law in accordance with one embodiment of the invention.

(5) FIG. 3b illustrates a graph of momentum trajectory results of a pyramid CMG array using a constrained singularity avoidance steering law in accordance with one embodiment of the invention.

(6) FIG. 3c illustrates a graph of momentum trajectory results of a pyramid CMG array using a penetration singularity avoidance steering law in accordance with one embodiment of the invention.

(7) Embodiments in accordance with the invention are further described herein with reference to the drawings.

DETAILED DESCRIPTION OF INVENTION

(8) FIG. 1a illustrates a system including a method 100 for avoiding gyroscopic singularities in accordance with one embodiment of the invention. In FIG. 1a, a spacecraft 10 having a CMG array 20 of three CMGs 21a, 21b and 21c, includes an attitude controller 40, and a computer apparatus 30 including method 100 for avoiding gyroscopic singularies during attitude correction. In various embodiments, CMG array 20 may include additional CMGs.

(9) In one embodiment, computer apparatus 30 including method 100 is located on spacecraft 10. In alternate embodiments computer apparatus 30 and/or method 100 can be at a location remote from spacecraft 10, and the output of method 100 communicated to spacecraft 10. In various embodiments, computer apparatus 30 may be a processing component configured to perform method 100 or a computer program storage component with stored program instructions executable by a computer processing component to perform method 100. A processing component physically configured to perform method 100 may include, but is not limited to a microprocessor, a field-programmable gate array or an application-specific integrated circuit. A computer program storage component may include, but is not limited to non-volatile random-access memory, hard disk drives and optical discs. In some embodiments, attitude controller 40 may be differently located, for example, as part of computer apparatus 30.

(10) In FIG. 1a, computer apparatus 30 includes a central processing unit (CPU) 32 having at least one memory 34 for storing method 100. Computer apparatus 30 can receive inputs to and send outputs from method 100. More particularly, computer apparatus 30 can receive inputs to method 100 from CMG array 20 and attitude controller 40 and can send outputs to CMG array 20 and other systems both on and remote from spacecraft 10. In one embodiment, method 100 is embodied as computer implementable code stored in memory 34. In one embodiment, method 100 is stored as computer implementable code, i.e., program instructions executable by a computer processing component, in a computer program product such as computer readable disk or other computer program storage component, and can be loaded into memory 34 via one or more input interfaces (not shown).

(11) FIG. 1b illustrates a process flow diagram of method 100 for avoiding gyroscopic singularities in accordance with one embodiment of the invention.

(12) Optionally, in operation 102 a corrective torque vector is generated after receiving and comparing a desired attitude measurement with an actual attitude measurement and processing transitions from optional operation 102 to operation 104. In one embodiment, the desired attitude measurement may be received at spacecraft 10 from steering system (not shown) or other directional communication. In one embodiment the actual attitude measurement may be received from attitude controller 40 or other attitude measurement communication.

(13) In operation 104, method 100 receives a value for corrective torque vector , and processing transitions from operation 104 to operation 106. In one embodiment, method 100 receives corrective torque vector from attitude controller 40.

(14) In operation 106, method 100 receives gimbal angle values for each of at least three gimbals within CMG array 20 and processing transitions from operation 106 to operation 108. In one embodiment method 100 receives inputs of gimbal angle values for each of CMGs 21a, 21b and 21c. In one embodiment the inputs of gimbal angle values for each of CMGs 21a, 21b and 21c are received from each of CMGs 21a, 21b and 21c. in one embodiment, the inputs of gimbal angle values for each of CMGs 21a, 21b and 21c are received from attitude controller 40. In some embodiments, operation 104 is performed after operation 106.

(15) In operation 108, method 100 generates a Jacobian matrix A as a function of gimbal angle values using the gimbal angle values for each of CMGs 21a, 21b and 21c and calculates a determinant D of Jacobian matrix A and processing transitions from operation 108 to decision operation 110. Generation of a Jacobian matrix and calculation of a determinant for a Jacobian matrix is well known to those of skill in the art and not further detailed herein.

(16) In decision operation 110, a determination is made whether CMG array 20 is in a singular state based on the value of the determinant D calculated in operation 108. In method 100, the value of determinant D establishes whether CMG array 20 is in a singular state. In one embodiment, when the value of determinant D is determined to be not zero (NO), CMG array 20 is not in a singular state, and processing transitions from operation 110 to operation 112. Alternatively, when the value of determinant D is zero (YES), CMG array 20 is determined to be in a singular state and processing transitions from operation 110 to operation 114.

(17) Referring now to operation 112, in operation 112, method 100 calculates a gimbal rate {dot over ()} using a pseudo-inverse steering law equation when CMG array 20 is not in a singular state, and processing transitions from operation 112 to operation 116. In one embodiment, method 100 generates gimbal rate {dot over ()} based on the pseudo-inverse steering law equation
{dot over ()}=A.sup.T(AA.sup.T).sup.1,
in which {dot over ()} is the gimbal rate, A is the Jacobian matrix determined by the gimbal angle values for each of CMGs 21a, 21b and 21c, A.sup.T is the Jacobian matrix A transposed, and is the corrective torque vector.

(18) Referring back to operation 114, in operation 114, method 100 calculates gimbal rate {dot over ()} using a singularity avoidance steering law equation when CMG array 20 is in a singular state and processing transitions from operation 114 to operation 116. In one embodiment, method 100 generates gimbal rate {dot over ()} based on one of three singularity avoidance steering law equations: a direct modification singularity avoidance steering law equation, a constrained singularity avoidance equation, or a penetration singularity avoidance steering law equation.

(19) Direct Modification Singularity Avoidance Steering Law Equation

(20) The direct modification singularity avoidance steering law equation utilizes a direct modification of singular values. Singular value decomposition of Jacobian matrix A is written as A=UV.sup.H, where U.sup.HU=1, V.sup.HV=1, and

(21) = [ S 0 0 0 ] ,
and S=diag(.sub.1, . . . , .sub.r), (.sub.1 . . . .sub.r>0), where is the rectangular diagonal matrix from the singular value decomposition with nonnegative real numbers on the diagonal, U is the left unitary matrix from the singular value decomposition, V is the right unitary matrix from the singular value decomposition, S is the square diagonal matrix whose diagonal elements are singular values of Jacobian matrix A, .sub.1 is the largest singular value and .sub.r is the smallest singular value.

(22) When the rank of Jacobian matrix A is three, the pseudo-inverse of Jacobian matrix A is written as A.sup.=U.sup.V.sup.H, where

(23) = [ S - 1 0 0 0 ]
and

(24) r = { r ( r > ) ( r )
This is a standard pseudo-inverse steering law {dot over ()}=A.sup.u. When the CMG array momentum approaches the singularity, at least one singular value will approach zero such that .sub.r.fwdarw.0. The inverse of this singular value will be very large, which will eventually result in an unrealizable gimbal rate. The direct modification singularity avoidance steering law equation directly modifies the value of .sub.r when the CMG array is near the singular configuration such that

(25) S - 1 = diag ( 1 1 , .Math. , 1 r ) .
where is a user selected small positive number. The resulting inverse solution will guarantee the solution regardless of the condition of Jacobian matrix A.

(26) Constrained Singularity Avoidance Steering Law Equation

(27) The constrained singularity avoidance steering law equation utilizes a constrained singularity-robust inverse. In the constrained singularity avoidance steering law equation, determinant D of Jacobian matrix A becomes zero. When the CMG array approaches singularity, a constraint can be imposed such that determinant D of Jacobian matrix A quickly transients through zero. The time-derivative of determinant D of Jacobian matrix A can be written as

(28) t [ det ( A ) ] = [ det ( A ) ] t = C . ,
where C is a partial derivative of determinant D of Jacobian matrix A with respect to the gimbal angle vector. The optimization problem for the constrained singularity-robust inverse equation is written as

(29) min . 1 2 [ ( - A . ) T P ( - A . ) + . T Q . ]
subject to C{dot over ()}=, where P and Q are positive definite diagonal matrices and is a desired rate of change of determinant D of Jacobian matrix A. The value of determines how fast the transient of singular states occurs. The closed-form solution of the optimization problem is given by

(30) [ . ] = [ A T PA + Q C T C 0 ] - 1 [ A T P ] ,
where is a Lagrange multiplier. When there are four or more CMGs, Jacobian matrix A is not a square matrix and determinant D does not exist. In this case, method 100 would take a set of three CMGs for Jacobian matrix A to iteratively compute determinant D until it is non-zero. In one embodiment, each iteration uses a different set of three CMGs.

(31) Penetration Singularity Avoidance Steering Law Equation

(32) The penetration singularity avoidance steering law equation utilizes a singularity penetration using a unit-delay. In the penetration singularity avoidance steering law equation, when CMG array 20 approaches singular states, gimbal rates {dot over ()} commanded by the pseudo-inverse steering law increase as determinant D of Jacobian matrix A approaches zero. At such instances when CMG array 20 approaches a singular state with accompanying high gimbal rates, gimbal rate {dot over ()} will be held its last valid, non-singular value, {dot over ()}.sub.SW, by applying a unit-delay. The anomalous transient associated with the attempt to invert the singular Jacobian matrix A is ignored by rapidly passing through the singularity, instead holding the last valid, nonsingular gimbal rate {dot over ()}.sub.SW. The penetration singularity avoidance steering law equation becomes {dot over ()}={dot over ()}.sub.SW, where {dot over ()}.sub.SW is a last computed gimbal rate before CMG array 20 approaches a singular state.

(33) In operation 116, the gimbal rate {dot over ()} calculated in operation 112 or operation 114 is output from method 100, with processing exiting method 100. In one embodiment gimbal rate {dot over ()} is output, for example, as a gimbal rate command to CMG array 20, and the application of the torque results in an attitude correction of spacecraft 10.

(34) FIG. 2 illustrates a diagram of a pyramid CMG array 200. In FIG. 2, the CMGs 201, 202, and 203 have axes which are orthogonal to the pyramid faces 204, 205 and 206. CMGs 201, 202 and 203 have gimbal angle values .sub.1, .sub.2 and .sub.3, respectively. Each of pyramid faces 204, 205, and 206 has a skew angle, , from the horizontal surface 207. In FIG. 2, h.sub.i for i=1, 2, 3 denotes the angular momentum vector from the i.sup.th CMG, g.sub.i for i=1, 2, 3 denotes the unit gimbal rotation axis vector for the i.sup.th CMG. For CMG array 200 with =90 assuming the magnitude of the momentum of each CMG is equal and denoted by h.sub.w, the corresponding total momentum, torque, and Jacobian matrix A becomes

(35) h = h w [ - cos 2 cos 1 - cos 3 sin 1 + sin 2 + sin 3 ] ,

(36) 0 h . = h w A . where A = [ 0 sin 2 0 - sin 1 0 sin 3 cos 1 cos 2 cos 3 ]
and {dot over (h)} is the vector of rate-of-change of angular momentum of CMG array 200.

(37) Using the direct modification singularity avoidance steering law equation,

(38) . = U * V H h . where * = [ S * 0 0 0 ] , S * = diag ( 1 i , .Math. , 1 ) .

(39) Using the constrained singularity singularity avoidance steering law equation,

(40) [ . ] = [ A T PA + Q C T C 0 ] - 1 [ A T P ] .

(41) Using the penetration singularity avoidance steering law equation, {dot over ()}={dot over ()}.sub.SW.

(42) FIGS. 3a-3c illustrate graphs of momentum trajectory results of pyramid CMG array 200 using the direct modification, constrained and penetration singularity avoidance steering law equations, respectively, in accordance with embodiments of the invention. The singularity is visible in FIGS. 3a-3c, showing the angular momentum normalized by the magnitude of the angular momentum from each CMG in CMG array 200. The singularity-free volume is limited to the center area. FIGS. 3a-3c show the momentum trajectory of CMG array 200 when the spacecraft performs a z-axis rotational maneuver. The initial momentum state at h.sub.A is zero angular momentum. A positive torque command along z-axis performs the z-axis maneuver by angular momentum exchange with the CMGs of CMG array 200. As the CMGs of CMG array 200 change z-axis angular momentum, the spacecraft, e.g., spacecraft 10 (FIG. 1a), maneuvers. As the angular momentum passes a mathematical singularity, h.sub.s, the standard pseudo-inverse steering law equation fails to provide the attitude control. However, attitude control is not lost, due to use of the direct modification, constrained and penetration singularity avoidance steering law equations respectively. The momentum trajectories for all three singularity avoidance steering law equations show that the momentum trajectory passes through the singularity, overcoming the mathematical singularity problem. This enables larger momentum capabilities and faster slew maneuvers of a spacecraft.

(43) It will be understood that many additional changes in the details, materials, procedures and arrangement of parts, which have been herein described and illustrated to explain the nature of the invention, may be made by those skilled in the art within the principle and scope of the invention as expressed in the appended claims.