This invention relates to the field of spacecraft vehicle control and, more specifically, to a hierarchical strategy for singularity avoidance in arrays of control moment gyroscopes.
In order to control the attitude of a spacecraft, various rotating inertia members can be used. One such inertia member is a control moment gyroscope (CMG). A CMG typically comprises a flywheel with a fixed or variable spin rate mounted to a gimbal assembly. The spin axis of the CMG can be tilted by moving the CMG using the gimbal assembly. This motion produces a gyroscopic torque orthogonal to the spin axis and gimbal axis.
To achieve full attitude control of a spacecraft, a minimum of three CMGs, arranged such that each CMG in the CMG array imparts torque about a linearly independent axis, can be used. Typically, additional CMGs are provided for redundancy purposes and to help avoid singularities. A singularity occurs when the momentum vectors of the CMGs line up such that one or more components of the requested torque can not be provided. The CMGs are moved about their gimbal axes in response to a torque command.
A Jacobian, C, maps the CMG gimbal rates into a three dimensional array torque:
Cω=τ Eqn. 1
where C is a 3×n Jacobian matrix, ω is a n1× array of gimbal rates for the n gimbals, and τ is a 3×1 array of torque components to be imparted to the spacecraft. Using the above equation with a known torque command, τ, the individual gimbal rates for each CMG can be calculated. Using the well-known Moore-Penrose pseudoinverse to invert the Jacobian matrix, a set of possible gimbal rates is:
ω=CT(CCT)−1τ Eqn. 2
As discussed previously, inherent in the use of CMGs is the possibility that the CMGs' momentum vectors may line up in such a way that a singularity condition is reached. Mathematically, singularities can occur when the eigenvalues of CCT approach zero, causing (CCT)−1 to go to infinity. Or, equivalently, singularities occur when the determinant of the matrix CCT is equal to zero (expressed algebraically as det (CCT)=0). In the case of a 3×n matrix C, this is equivalent to saying the rank of the matrix is two or less.
Different approaches have been devised to avoid singularities in the movement of CMGs. In one approach, referred to as the “singularity robust” inverse, to ensure that (CCT)−1 never is 0, (CCT)−1 is replaced by (CCT+εI)−1 where I is the identity matrix and ε is a small number. The use of a positive ε ensures that det (CCT+εI)−1 never becomes 0.
While useful in some instances, a drawback to this approach is that this approach changes the gimbal rate calculation. In the case of the Jacobian, C, the pseudoinverse no longer exactly maps gimbal rates into the commanded torques because of the error it introduces. This resulting error steers the spacecraft in the wrong direction and can introduce significant, undesired torque, especially near a singularity.
A second approach is to limit the CMG array's momentum to a smaller volume within the CMG array's overall momentum envelope. The momentum envelope is the momentum provided in all possible combinations of the CMGs in the CMG array. By operating in a subvolume in which no singularities exist, singularities can be avoided. However, this approach wastes potential momentum and results in systems that are larger and heavier than needed.
As discussed previously, in order to achieve full attitude control of a spacecraft, a minimum of three CMGs are required. In general, a non-symmetrical array of N CMGs, each of whose gimbal angle is independently controlled, has N degrees of freedom. Thus, for an object in orbit, a minimum of three CMGs are needed to provide a full three degrees of freedom. In an exemplary embodiment when exactly three CMGs are used, every point in momentum space in the XYZ coordinate system can be reached by one, and only one set of gimbal angles.
The addition of one or more CMGs adds additional degrees of freedom to the system above what is necessary for full attitude control. This results in what is known as null space. With the addition of null space, each point in momentum space in the XYZ coordinate system can be mapped to an indefinite number of gimbal angles. This can be used to provide a requested torque while also avoiding singularities.
While null space can be used to avoid singularities, null motions use gimbal rate that might otherwise be available for torque production. Therefore, the tasks of avoiding singularities and maximizing available torque can be mutually exclusive.
Accordingly, it is desired to provide a hierarchical strategy for singularity avoidance in arrays of control moment gyroscopes. Furthermore, the desirable features and characteristics of the present invention will be apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
In an exemplary embodiment, a method for avoiding singularities in the movement of a set of control moment gyroscopes (CMGs) that includes at least one additional CMG (resulting in null space) includes a hierarchical two-step process. The first step is determining a mandatory null space maneuver to avoid singularities that must be applied even at the expense of torque production. Next, an optional null space maneuver to increase available torque is determined, but applied only to the extent torque allows.
In an exemplary embodiment, a method for avoiding singularities as above in which the mandatory null space maneuver is computed based upon a quantity directly related to gimbal angle, specifically the number of degrees a keepout zone is violated.
In an exemplary embodiment, a method for avoiding singularities as above in which the mandatory null space maneuver is implemented by modifying the inverse-Jacobian control matrix.
The present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and:
a illustrates an exemplary embodiment of a configuration of momentum vectors producing a maximum momentum in the X-direction in accordance with the teachings of the present invention;
b illustrates an exemplary embodiment of a configuration of momentum vectors producing a maximum momentum of 3 h in the Y-direction in accordance with the teachings of the present invention;
a, 6b and 6c illustrate different exemplary configurations of momentum vectors that combine to form a net momentum of 1 h in the negative X direction in accordance with the teachings of the present invention;
The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description.
In the following discussion a set of CMGs configured to allow null-space maneuvering is a set of CMGs that has at least one additional CMG above what is required to provide the n-degrees of freedom needed for maneuvering in N-space. Four or more CMGs are required in an array designed for maneuvering in three-dimensional space.
The following detailed description describes the use of the present invention in terms of its use in an exemplary CMG array singularity avoidance system. However, applications of the present invention are not limited to any one specific application or embodiment, but are useful in many different areas of endeavor.
An exemplary control system 100 for implementing the present invention is illustrated in
The control system 100 includes an attitude control system 102 coupled to a momentum actuator control processor 104. CMGs 106 are coupled to the momentum actuator control processor 104. Associated with each CMG 106 are one or more CMG sensors 108 for providing information concerning the state of the CMG 106 to the control system 100. Control system 100, in one embodiment, is mounted on a spacecraft such as an orbiting satellite.
Attitude control system 102 controls the positioning of a spacecraft. The attitude control system 102 receives data concerning a desired spacecraft maneuver and determines an appropriate torque command to complete the desired maneuver. The torque commands can be presented to the momentum actuator control processor 104. The momentum actuator control processor 104, in response to the torque commands, can calculate the gimbal rates necessary to produce the commanded torque.
The momentum actuator control processor 104, based on the above identified calculations, provides the necessary commands to the CMGs 106 such that the CMG 106 movement produces the commanded torque and, in accordance with the teachings of the present invention, provides the torque while avoiding singularities by using null space maneuvering.
If the largest momentum magnitude of any CMG 106 in a parallel set of CMGs 106 is less than or equal to the sum of the momentum magnitudes of all other CMGs 106, the total momentum of that set of parallel CMGs 106 will be a disk, otherwise the total momentum will be an annulus. In
In the example of
Note that in the example of
a illustrates the alignment momentum of each vector, hi, for each CMG 106 to produce a maximum momentum of 3 h in the X-direction. In
Therefore, the three CMGs 106 can combine to produce a total momentum of 3 h in a desired direction. For the exemplary embodiment where all three CMGs 106 produce the same amount of momentum, the maximum momentum is 3 h, which is located in a 3 h circle about the origin. When the array of three CMGs 106 reaches the 3 h momentum state, it is impossible to increase the momentum any further. Technically, this condition produces a singularity, but is typically referred to as the “saturation” singularity. To avoid control difficulties that arise as the saturation singularity is approached, a margin between the saturation momentum and the momentum allowed should be provided.
Another exemplary embodiment of CMG 106 alignment is illustrated in
the controller would deduce that there was no value in moving the CMG 106 corresponding to the momentum vector, h1. The net momentum of the three CMGs 106 is now only 1 h in magnitude and there is no way to produce any more momentum without producing an error in the Y-axis. Specifically, there is no small change in gimbal angles that can produce a small increase in momentum in the desired direction. This is called an “internal” singularity.
Thus, three parallel CMGs 106 have an internal singularity circle at radius 1 h. Every point on the circle has the potential of being a singular point like the one described above. However, it is possible to cross the 1 h circle by choosing the correct position of the CMGs 106 in null space. For example, using null space, there is more than one CMG 106 configuration that can produce a selected momentum, H. In
From this, it can be concluded that the ideal gimbal angles for crossing the 1 h circle are when one momentum vector of one CMG 106 is aligned radially outward at that point (i.e., in the direction of the desired momentum), and the other two momentum vectors are tangential to the circle. If the two opposing CMGs 106 do not quite reach the tangential position but are opposing, the correct net H will be achieved but the system will not be maximally distant from a singularity.
The regions 802-810 indicate the value of the determinant of the square matrix [CCT], which is a strong indicator of a singularity. From region 810 to region 802, the determinant reduces. Note that at two points on the graph the torque (and determinant) goes to zero, illustrating singularity. These points occur at Hr=1 (internal singularity 820) and Hr=3 (saturation singularity 830),
From this, the goals of null-space steering can be determined to be (1) encourage the system to stay near the upper end of the band as illustrated in
In the background section it was discussed that generic control of an array of CMGs 106 requires a control matrix that is the inverse of a Jacobian matrix “C”. The Jacobian matrix can be defined as:
and consists of the partial derivatives of the net momentum vector, H, with respect to θ. In the case of three parallel CMGs 106 having all its momentum in a disc, there are three values of θ, but the H vector is only 2-dimensional, therefore the C matrix is a 2×3. Obtaining the 3×2 control matrix for a non-square C requires a pseudo-inverse. As discussed previously, a simple Moore-Penrose pseudo-inverse can be used by assuming that the inverse will always be well-conditioned due to the singularity avoidance activity that will be going on in parallel. The pseudo-inverse gives:
The 2 column vectors in this 3×2 matrix define the range space of the Jacobian, C. Any scalar multiple of the first vector of gimbal rates will produce torque in the X direction. Any scalar multiple of the second vector will produce torque in the Y direction.
A third vector of gimbal rates exists that produces no torque. This is the null space vector. It can be obtained, in one exemplary embodiment, through the use of singular value decomposition.
As discussed previously, for any position of net momentum in the disc, there is an “ideal” set of gimbal angles. These ideal gimbal angles are points in null space at which the maximum determinant and available torque occur (as illustrated in conjunction with
Eqn. 5 can be used to determine exactly how far a gimbal must move to arrive at the optimum point. This is illustrated in
The angle Ψ defined above provides a means for quantifying how far a momentum vector of one of the CMGs 106 has moved from the ideal value (θ).
Imposing a trajectory, or slope, in the Hr-Ψ space can be accomplished by imposing a gimbal rate, ω, on the violating CMG 106. For the given torque command, the rate of change of radial momentum,
can be determined and the slope of the line segment from the starting point 1004 to the limit point 1002 is
Since the quantity Ψ is directly related to the gimbal angle:
The final step in the process is imposing the gimbal rate calculated above. Since the total gimbal rate commands are the range-space commands (torque commands) plus the null space commands (singularity avoidance commands), the null space action can be selected that produces the desired sum on the violating CMG. The gimbal rates determined are then checked to ensure that none of the three CMGs 106 are being commanded with rates outside their maximum capability. If they are, then the entire net vector must be scaled down. This results in a reduction in torque magnitude, but only the exact amount of reduction necessary to clear the limit point 1002.
Note that in the present invention, the limit point 1002 can be adjusted upward to provide greater margin for singularity avoidance or the limit point 1002 can be adjusted downward to provide smaller margin for singularity avoidance. Also, while only one limit point 1002 was shown in
In addition to the above described maneuvers used to avoid singularities, null space movements can also be made to make more torque available. Recall that in
These adjustments can be made if any gimbal rate remains available after the commanded torque is provided along with the required singularity avoidance.
Next, in step 1104, from the current state of the array,
the radial momentum vector, Hr, and the unit momentum vector, hi, for each CMG 106 are determined. Also, the violating CMG 106 as discussed previously is determined.
After step 1104, the discretionary movements are determined in step 1116-1122 and mandatory movements are determined in step 1110-1114. Also, preliminary calculations are made in steps 1106 and 1108.
In step 1106, the angle Ψ is determined. As previously discussed, Ψ is the angle between the radial line of the optimal CMG 106 alignment and the momentum vector 906.
In step 1108, a slope for the maneuver is calculated that clears the boundary that defines the singularity avoidance criteria. As discussed previously, the boundary represents lines below which the angle Ψ must not fall when the CMGs 106 are moving to provide torque.
Turning first to the discretionary movements, in step 1116, the optimal angle for the present position of the CMG 106 is calculated from:
In step 1118, the depth of penetration is determined. The depth of penetration represents how far the unit vector for the violating CMG 106 is within the keep out zone 902. This can be calculated by subtracting the optimal angle, θ, from Ψ.
In step 1120, discretionary movements are determined. As discussed previously, discretionary movements, for a given momentum magnitude, increases the Ψ value to improve the overall condition of the system. This increases the torque available in the system but is not sufficient for singularity avoidance. In one exemplary embodiment, the gimbal rate to implement the movement is determined by using the depth of penetration of the momentum vector 906 of the CMG 106 that is in the keep out zone 902. By reducing the depth of penetration, Ψ is increased and the overall condition of the system, in terms of available torque, is increased.
In step 1122, secondary gimbal rate commands for each of the gimbals of the CMGs 106 are determined for the discretionary movements as calculated in step 1120.
Turning to the mandatory movements, in step 1110, the
and the null vector are determined. The inverse of the Jacobian matrix, determined as discussed previously, using the Moore-Penrose pseudo-inverse, is
which in an exemplary embodiment, is a 3×2 matrix. The null vector is the vector of gimbal rates that produce no torque.
After the slope for the maneuver is determined in step 1108 that clears the boundary, in step 1112 the movements of the CMGs 106 are required to follow the determinant slope. In other words, the slopes calculated in step 1108 are imposed as criteria for null space movement.
In one exemplary embodiment, a simple inverse-Jacobian control matrix can be augmented to impose the calculated slope in the Hr-Ψ plane (the mandatory null space maneuver) to form an augmented control matrix. Note that it is important to recall that the imposed slope action is limited solely to radial motion. When moving tangentially in the disc, Hr does not change, and there should be no motion in the Hr-Ψ plane. Based on the relationship of equation 6, values krad and ktang can be computed at each gimbal state that accomplish the goals of this paragraph as follows (polar coordinates).
In step 1124, the primary rates determined in step 1114 are limited without changing the direction of the rate vectors based on overall system characteristics, such as limits on the gimbal rates. Additionally, the secondary rates for discretionary null space movements can be added to the primary rates up to the rate limit for the CMG 106.
While an exemplary embodiment of a set of six CMGs configured as a “roof” array has been discussed, the teachings of the present invention are applicable to other arrangements and numbers of CMGs that can navigate in null space.
While at least one exemplary embodiment has been presented in the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention, it being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5269483 | Flament | Dec 1993 | A |
5875676 | Bailey et al. | Mar 1999 | A |
6039290 | Wie et al. | Mar 2000 | A |
6047927 | Heiberg et al. | Apr 2000 | A |
6128556 | Bailey | Oct 2000 | A |
6131056 | Bailey et al. | Oct 2000 | A |
6154691 | Bailey | Nov 2000 | A |
6260805 | Yocum et al. | Jul 2001 | B1 |
6305647 | Defendini et al. | Oct 2001 | B1 |
6354163 | Heiberg | Mar 2002 | B1 |
6648274 | Bailey et al. | Nov 2003 | B1 |
6681649 | Hyde et al. | Jan 2004 | B2 |
6917862 | Wie | Jul 2005 | B2 |
7014150 | Peck et al. | Mar 2006 | B2 |
7171290 | Lagadec et al. | Jan 2007 | B2 |
7370833 | Johnson et al. | May 2008 | B2 |
20040111194 | Wie | Jun 2004 | A1 |
20060027708 | Peck et al. | Feb 2006 | A1 |
20080035797 | Defendini et al. | Feb 2008 | A1 |
Number | Date | Country |
---|---|---|
WO 03001311 | Jan 2003 | WO |
WO 2004032392 | Apr 2004 | WO |
2006020314 | Feb 2006 | WO |
PCTUS2005025614 | Jul 2006 | WO |
2006085996 | Aug 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20080105787 A1 | May 2008 | US |