Singularities At least three single-axis CMGs are necessary for control of spacecraft attitude. However, no matter how many CMGs a spacecraft uses, gimbal motion can lead to relative orientations that produce no usable output torque along certain directions. These orientations are known as
singularities and are related to the
kinematics of robotic systems that encounter limits on the end-effector velocities due to certain joint alignments. Avoiding these singularities is naturally of great interest, and several techniques have been proposed. David Bailey and others have argued (in patents and in academic publications) that merely avoiding the "divide by zero" error that is associated with these singularities is sufficient. Two more recent patents summarize competing approaches. See also
Gimbal lock.
Saturation A cluster of CMGs can become saturated, in the sense that it is holding a maximum amount of angular momentum in a particular direction and can hold no more. As an example, suppose a spacecraft equipped with two or more dual-gimbal CMGs experiences a transient unwanted torque, perhaps caused by reaction from venting waste gas, tending to make it roll clockwise about its forward axis and thus increase its angular momentum along that axis. Then the CMG control program will command the gimbal motors of the CMGs to slant the rotors' spin axes gradually more and more forward, so that the angular momentum vectors of the rotors point more nearly along the forward axis. While this gradual change in rotor spin direction is in progress, the rotors will be creating gyroscopic torques whose resultant is anticlockwise about the forward axis, holding the spacecraft steady against the unwanted waste gas torque. When the transient torque ends, the control program will stop the gimbal movement, and the rotors will be left pointing more forward than before. The inflow of unwanted forward angular momentum has been routed through the CMGs and dumped into the rotors; the forward component of their total angular momentum vector is now greater than before. If these events are repeated, the angular momentum vectors of the individual rotors will bunch more and more closely together round the forward direction. In the limiting case, they will all end up parallel, and the CMG cluster will now be saturated in that direction; it can hold no more angular momentum. If the CMGs were initially holding no angular momentum about any other axes, they will end up saturated exactly along the forward axis. If however (for example) they were already holding a little angular momentum in the "up" (yaw left) direction, they will saturate (end up parallel) along an axis pointing forward and slightly up, and so on. Saturation is possible about any axis. In the saturated condition attitude control is impossible. Since the gyroscopic torques can now only be created at right angles to the saturation axis, roll control about that axis itself is now non-existent. There will also be major difficulties with control about other axes. For example, an unwanted left yaw can only be countered by storing some "up" angular momentum in the CMG rotors. This can only be done by tilting at least one of their axes up, which will slightly reduce the forward component of their total angular momentum. Since they can now store less "right roll" forward angular momentum, they will have to release some back into the spacecraft, which will be forced to start an unwanted roll to the right. The only remedy for this loss of control is to desaturate the CMGs by removing the excess angular momentum from the spacecraft. The simplest way of doing this is to use
reaction control system (RCS) thrusters. In our example of saturation along the forward axis, the RCS will be fired to produce an anticlockwise torque about that axis. The CMG control program will then command the rotor spin axes to begin fanning out away from the forward direction, producing gyroscopic torques whose resultant is clockwise about the forward direction, opposing the RCS as long as it is firing, and so holding the spacecraft steady. This is continued until a suitable amount of forward angular momentum has been drained out of the CMG rotors; it is transformed into the
moment of momentum of the moving matter in the RCS thruster exhausts and carried away from the spacecraft. It is worth noting that "saturation" can only apply to a cluster of two or more CMGs, since it means that their rotor spins have become parallel. It is meaningless to say that a single constant-speed CMG can become saturated; in a sense it is "permanently saturated" in whatever direction the rotor happens to be pointing. This contrasts with a single
reaction wheel, which can absorb more and more angular momentum along its fixed axis by spinning faster, until it reaches saturation at its maximum design speed.
Anti-parallel alignment There are other undesirable rotor axis configurations apart from saturation, notably anti-parallel alignments. For example, if a spacecraft with two dual-gimbal CMGs gets into a state in which one rotor spin axis is facing directly forward, while the other rotor spin is facing directly aft (i.e. anti-parallel to the first), then all roll control will be lost. This happens for the same reason as for saturation; the rotors can only produce gyroscopic torques at right angles to their spin axes, and here these torques will have no fore-and-aft components and so no influence on roll. However, in this case the CMGs are not saturated at all; their angular momenta are equal and opposite, so the total stored angular momentum adds up to zero. Just as for saturation, however, and for exactly the same reasons, roll control will become increasingly difficult if the CMGs even approach anti-parallel alignment. In the anti-parallel configuration, although roll control is lost, control about other axes still works well (in contrast to the situation with saturation). An unwanted left yaw can be dealt with by storing some "up" angular momentum, which is easily done by tilting both rotor spin axes slightly up by equal amounts. Since their fore and aft components will still be equal and opposite, there is no change in fore-and-aft angular momentum (it will still be zero) and therefore no unwanted roll. In fact the situation will be improved, because the rotor axes are no longer quite anti-parallel and some roll control will be restored. Anti-parallel alignment is therefore not quite as serious as saturation but must still be avoided. It is theoretically possible with any number of CMGs; as long as some rotors are aligned parallel along a particular axis, and all the others point in exactly the opposite direction, there is no saturation but still no roll control about that axis. With three or more CMGs the situation can be immediately rectified simply by redistributing the existing total angular momentum among the rotors (even if that total is zero). In practice the CMG control program will continuously redistribute the total angular momentum to avoid the situation arising in the first place. If there are only two CMGs in the cluster, as in our first example, then anti-parallel alignment will inevitably occur if the total stored angular momentum reaches zero. The remedy is to keep it away from zero, possibly by using RCS firings. This is not very satisfactory, and in practice all spacecraft using CMGs are fitted with at least three. However it sometimes happens that after malfunctions a cluster is left with only two working CMGs, and the control program must be able to deal with this situation.
Hitting the gimbal stops Older CMG models like the ones launched with Skylab in 1973 had limited gimbal travel between fixed mechanical stops. On the Skylab CMGs, the limits were ±80° from zero for the inner gimbals, and from +220° to −130° for the outer ones (so zero was offset by 45° from the centre of travel). Visualising the inner angle as "latitude" and the outer as "longitude", it can be seen that for an individual CMG there were "blind spots" with radius 10° of latitude at the "North and South poles", and an additional "blind strip" of width 10° of "longitude" running from pole to pole, centred on the line of "longitude" at +135°. These "blind areas" represented directions in which the rotor's spin axis could never be pointed. Skylab carried three CMGs, mounted with their casings (and therefore their rotor axes when the gimbals were set to zero) facing in three mutually perpendicular directions. This ensured that the six "polar blind spots" were spaced 90° apart from each other. The 45° zero offset then ensured that the three "blind strips" of the outer gimbals would pass halfway between neighbouring "polar blind spots" and at a maximum distance from each other. The whole arrangement ensured that the "blind areas" of the three CMGs never overlapped, and thus that at least two of the three rotor spins could be pointed in any given direction. The CMG control program was responsible for making sure that the gimbals never hit the stops, by redistributing angular momentum between the three rotors to bring large gimbal angles closer to zero. Since the total angular momentum to be stored had only three
degrees of freedom, while the control program could change six independent variables (the three pairs of gimbal angles), the program had sufficient freedom of action to do this while still obeying other constraints such as avoiding anti-parallel alignments. One advantage of limited gimbal movement such as Skylab's is that singularities are less of a problem. If Skylab's inner gimbals had been able to reach 90° or more away from zero, then the "North and South poles" could have become singularities; the gimbal stops prevented this. More modern CMGs such as the four units
installed on the ISS in 2000 have unlimited gimbal travel and therefore no "blind areas". Thus they do not have to be mounted facing along mutually perpendicular directions; the four units on the ISS all face the same way. The control program need not concern itself with gimbal stops, but on the other hand it must pay more attention to avoiding singularities. ==Applications==