Proceedings of the 2006 American Control Conference Minneapolis, Minnesota, USA, June 14-16, 2006 ThC03.6 Controllability of Spacecraft Attitude using Control Moment Gyroscopes Sanjay P. Bhat Pawan K. Tiwari Department of Aerospace Engineering Directorate of Tactical Missile Systems Indian Institute of Technology Defense Research and Development Laboratory Powai, Mumbai 400076, India Kanchanbagh, Hyderabad 500058, India Abstract— This paper describes an application of nonlinear controllability theory to the problem of spacecraft attitude control using control moment gyroscopes (CMGs). Nonlinear controllability theory is used to show that a spacecraft carrying one or more CMGs is controllable on every angular momentum level set in spite of the presence of singular CMG configurations, that is, given any two states having the same angular momentum, any one of them can be reached from the other using suitably chosen motions of the CMG gimbals. This result is used to obtain sufficient conditions on the momentum volume of the CMG array that guarantee the existence of gimbal motions which steer the spacecraft to a desired spin state or rest attitude. I. I NTRODUCTION Momentum exchange devices such as reaction wheels and control moment gyroscopes (CMGs) form an important class of torque actuators for spacecraft attitude control. Unlike mass expulsion devices which alter the total angular momentum of the spacecraft, momentum exchange devices operate by changing the distribution of the angular momentum inside the spacecraft. Momentum exchange devices typically consist of spinning disks which exchange momentum with the rest of the spacecraft through mutual interaction torques that either change the speed of rotation as in reaction wheels, or change the orientation of the spin axis as in CMGs, or change both as in variable speed CMGs. CMGs are capable of producing significant torques and can handle large quantities of momentum over long periods of time. Consequently, CMGs are preferred in precision pointing applications and in momentum management of large, long-duration spacecraft. See, for instance, [1]. A CMG comprises of a rapidly spinning rotor mounted on one or two gimbals. The orientation of the rotor can be changed by applying torques to the gimbals, and the reaction torque thus generated serves to control the spacecraft attitude. The magnitude of torque produced by the CMG is a function of the constant rotor speed and gimbal rotation rate. A CMG may have one or two gimbals, and is accordingly called a single gimbal CMG (SGCMG) or a double gimbal CMG (DGCMG). In both cases the orientation of the angular momentum vector is determined by the gimbal angles. In the case of a SGCMG, the rotor is constrained to rotate on a circle in a plane normal to the gimbal axis. Hence, This work has been supported in part by the ISRO-IITB Space Technology Cell, Indian Institute of Technology – Bombay. 3624 a SGCMG cannot produce torques in all directions. While a DGCMG possesses an additional degree of freedom, its angular momentum vector is constrained to move along a sphere as the two gimbal angles are varied. Consequently, in any given configuration, a DGCMG can only produce torques that are orthogonal to the angular momentum vector. In order to obtain torques along three independent directions, as well as for redundancy, CMGs are used in arrays consisting of multiple CMGs. Unfortunately, every CMG array possesses singular configurations [2]. For each singular configuration, there exist singular directions along which the CMG array is unable to produce torque. More precisely, the mapping from gimbal angle rates to output torque becomes singular at singular configurations [3]. Figure 1 shows a singular configuration for a system of four CMGs arranged in a pyramid array. The arrows h1 , h2 , h3 and h4 represent the angular momentum vectors of the individual CMGs. Each of these vectors is constrained to rotate in the plane of the pyramid face containing it. In the CMG configuration shown in Figure 1, h1 and h3 are in the XZ plane, while h2 and h4 are parallel to the X-axis. An infinitesimal rotation of the vectors h1 and h3 causes a torque in the direction of Y -axis. Similarly, an infinitesimal rotation of the vectors h2 and h4 causes a torque in the Y Z plane. Thus, in the configuration shown, no combination of gimbal rates can produce a torque in the X-direction and hence, the X-axis represents a singular direction corresponding to this singular configuration. The standard approach to attitude control using CMGs is to compute the torque required to achieve the desired spacecraft behavior, and then invert the kinematic map from gimbal angle rates to CMG torque to find the gimbal angle rates that produce the required torque. This approach overlooks the dynamical interaction between the spacecraft and the CMG array, and instead treats the CMG array in isolation as only a torque producing device. Consequently, this approach encounters difficulties near singular CMG configurations at which the the kinematic map from gimbal angle rates to gyroscopic torque becomes singular. A considerable amount of research related to CMGs has focused on steering algorithms to maneuver CMG arrays to produce desired torque profiles while avoiding singular configurations [3]–[8]. While the ability to generate arbitrary torque profiles may be necessary for certain control objectives such as by properties of the CMG array. We give sufficient conditions on the momentum volume of the CMG array that guarantee the existence of gimbal motions that steer the spacecraft to a desired spin state or rest attitude for a given total inertial angular momentum. All our results hold in spite of the presence of singular configurations, indicating that the presence of singular configurations does not obstruct the ability to steer the spacecraft to desired attitudes and angular velocities. Z Y h2 h3 h1 h4 II. P RELIMINARIES X Fig. 1. A singular configuration in a pyramid array of CMGs tracking reference attitude trajectories, it is not evident that control objectives such as attitude stabilization or steering the spacecraft to a desired terminal state require such an ability. In the case of objectives such as stabilization or steering, it may be more fruitful to apply system and control theoretic tools to the combined dynamics of the spacecraft and the CMG array rather than to view the CMG array as only a torque producing device. Given the significant amount of attention that the problem of singular configurations has received in the attitude control literature, it is of interest to know exactly which system theoretic properties are affected by the presence of singular configurations. The purpose of this paper is to investigate if the presence of singular configurations poses an obstruction to attitude controllability. More precisely, we analyze the controllability properties of the attitude dynamics of a spacecraft carrying an array of SGCMGs by treating the CMG gimbal rates as inputs. Attitude controllability under actuation by thrusters, reaction wheels or magnetic torquers has been studied previously [9], [10]. However, due to the presence of singular configurations, the problem of attitude controllability using CMGs as actuators is very different from the problem of attitude controllability using thrusters, reaction wheels or magnetic torquers as actuators. After introducing the necessary preliminaries in Section II, we review the attitude dynamics of a rigid spacecraft carrying a CMG array in Section III. The inertial components of the combined angular momentum of the spacecraft and the CMG array are constant. Thus the combined dynamics of the spacecraft–CMG system evolve on level sets of the angular momentum. In Section IV, we show that the dynamics are strongly accessible and controllable on every angular momentum level set. Thus the system can be steered between any two states having the same total inertial angular momentum. This result is independent of the number and arrangement of CMGs in the CMG array. However, the ability to steer the spacecraft to a desired terminal attitude and angular velocity depends on the nature of the angular momentum level set which, as we illustrate, is determined The set SO(3) of 3 × 3 special orthogonal matrices is a three-dimensional Lie group. The Lie algebra so(3) of SO(3) is the set of 3 × 3 real skew-symmetric matrices with the matrix commutator as the bracket operation. We denote by × the usual cross product on R3 . R3 is a Lie algebra under the cross product operation. Define S : R3 → so(3) by ⎤ ⎡ 0 −a3 a2 0 −a1 ⎦ , a ∈ R3 . S(a) = ⎣ a3 −a2 a1 0 For every a ∈ R3 , S(a) is simply the matrix representation in the standard basis of the linear map b → (a × b) on R3 . The map S is a Lie algebra homomorphism, that is, S is a bijective linear map satisfying S(a × b) = S(a)S(b) − S(b)S(a) for every a, b ∈ R3 . We denote the tangent space to SO(3) at R ∈ SO(3) by TR SO(3). For every R ∈ SO(3), TR SO(3) = {RG : G ∈ so(3)} = {RS(g) : g ∈ R3 }. We denote the Euclidean norm on R3 by · and the two-dimensional unit sphere {x ∈ R3 : x = 1} by S2 . Given a C∞ manifold N and a C∞ vector field f on N , we let φf : (t, x) → φft (x) denote the flow of f . The flow is defined on an open subset of R × N [11, Prop. 2.1.15]. The vector field f is complete if its flow is defined on R × N . If f is complete, then φft : N → N is a diffeomorphism for every t ∈ R. A complete vector field f on N is weakly positively Poisson stable if, for every open set U ⊆ M and every t > 0, there exists T > t such that φfT (U) ∩ U = ∅. Given two vector fields f and g on a smooth manifold N , we denote their Lie bracket by [f, g]. If N is an embedded submanifold of a manifold M, and fˆ and ĝ are C∞ extensions to M of the vector fields f and g, respectively, then [f, g] is the restriction of [fˆ, ĝ] to N . In particular, if M = Rn for some n, then, for every x ∈ N ⊆ M, the canonical identification between Tx M and Rn yields d [ĝ(x + hf (x)) − fˆ(x + hg(x))]. (1) [f, g](x) = dh h=0 In the sequel, we will find it convenient to apply the formula (1) to vector fields defined on SO(3), which can be viewed as an embedded submanifold of Rn for n = 9. An alternative approach to computing Lie brackets on SO(3) is described in [12], [13]. III. ATTITUDE DYNAMICS We describe the attitude of a rigid body using a matrix R ∈ SO(3) such that the multiplication of the body components 3625 of a vector by R gives the components of that vector with respect to a reference inertial frame. The attitude kinematics of the spacecraft are then described by the equation Ṙ(t) = R(t)S(ω(t)), (2) 3 where ω(t) ∈ R denotes the instantaneous body-frame components of the angular velocity of the spacecraft relative to the reference inertial frame. Next, we consider the dynamics of a rigid spacecraft that is equipped with an array of q > 0 SGCMGs. The instantaneous body components of the total angular momentum vector of the spacecraft with respect to an inertial observer are given by H(t) = Jω(t) + ν(θ(t)), (3) where J ∈ R3×3 is the symmetric moment-of-inertia matrix of the spacecraft about the body-fixed frame, and ν : Rq → R3 gives the body components of the spin angular momentum of the CMG array as a function of the vector of T gimbal angles θ = [θ1 · · · θq ] ∈ Rq . For every θ ∈ Rq , the vector ν(θ) can be written as ν(θ) = ν1 (θ1 ) + ν2 (θ2 ) + . . . + νq (θq ), where νi : R → R3 gives the body components of the spin angular momentum of the ith CMG as a function of the ith gimbal angle θi ∈ R. For each i = 1, . . . , q, we denote by νi : R → R3 and νi : R → R3 the first and second derivatives, respectively, of νi with respect to θi . Since the spin angular momentum of each CMG is constant in magnitude and is constrained to move along a circle, it follows that νi (θi ) is orthogonal to νi (θi ) while νi (θi ) is directed along −νi (θi ) for every i = 1, . . . , q, and every θi ∈ R. Assuming that no external torques act on the spacecraft, the equation representing the attitude dynamics of the spacecraft are given by the Euler’s equations, d H(t) + ω(t) × H(t) = 0. (4) dt Substituting from (3) in (4) yields J ω̇(t) = − ω(t) × (Jω(t) + ν(θ(t))) q νi (θi (t))ui (t) − (5) i=1 θ̇i (t) = ui (t), i = 1, 2, . . . , q, (6) where θ̇i is the gimbal rate of the ith CMG. In deriving (5), we have assumed that the moments of inertia of the CMG gimbals are negligible in comparison with those of the spacecraft, so that the matrix J does not depend on the gimbal angles. Equations (2), (5) and (6) represent a control system on the (6 + q)-dimensional manifold SO(3) × R3 × Rq with gimbal rates ui , i = 1, . . . , q, as inputs. The inertial components of the total angular momentum of the spacecraft give rise to a function P : SO(3) × R3 × Rq → R3 given by P (R, ω, θ) = R(Jω + ν(θ)). Since the inertial components of the total angular momentum are constant along the motion of the spacecraft, for every initial inertial angular momentum μ ∈ R3 , the dynamics given by (2), (5) and (6) evolve on the angular momentum level set def Mμ = P −1 (μ) ⊆ SO(3) × R3 × Rq . It follows that the control system defined by (2), (5) and (6) is not controllable on the manifold SO(3) × R3 × Rq . To investigate the controllability of the system (2), (5) and (6) on an angular momentum level set, suppose μ ∈ R3 . It is easy to verify that the map φμ : SO(3) × Rq → SO(3) × R3 × Rq given by φμ (R, θ) = (R, J −1 (RT μ − ν(θ)), θ) is a diffeomorphism between SO(3) × Rq and Mμ . Hence the angular momentum level set is diffeomorphic to the (3 + def q)-dimensional manifold N = SO(3) × Rq . On Mμ , the attitude kinematics (2) reduce to Ṙ(t) = R(t)S(J −1 {RT (t)μ − ν(θ(t))}). (7) Equations (6) and (7) describe the combined dynamics of the spacecraft and the CMG array on the angular momentum level set Mμ , and define a control system of the form ẏ(t) = fμ (y(t)) + g1 (y(t))u1 (t) + · · · + gq (y(t))uq (t), (8) on the manifold N , where y = (R, θ) ∈ N represents the spacecraft attitude and the CMG configuration. The drift vector field fμ and the control vector fields g1 , g2 , . . . , gq , are analytic vector fields on N given by fμ (R, θ) = RS J −1 RT μ − ν(θ) , 0 , (9) gi (R, θ) = (0, ei ), (10) where, for each i = 1, 2, . . . , q, ei ∈ Rq is the vector whose ith element is 1, the rest being zero. In order to apply standard controllability results such as those described in [14], we assume that the vector of gimbal rates u = [u1 · · · uq ]T is a piecewise continuous function of time that has finite right and left limits at every instant of discontinuity, and that takes values in a connected set Ω ⊆ Rq containing 0 in its interior. The gimbal angles remain constant along the flow of the drift vector field. The drift vector field thus describes the rotational motion of a rigid body carrying rotors. Since SO(3) is compact, it follows that the drift vector field is complete [11, Corr. 2.1.19]. IV. C ONTROLLABILITY A NALYSIS The reachable set of the system (8) from x ∈ N at time T ≥ 0 is the set R(x, T ) of all states that can be reached at time T by following solutions of (8) that start at x at t = 0. The reachable set of the system from x ∈ N is simply the set ∪T ≥0 R(x, T ) of all states that can be reached by following solutions of (8) that start at x at t = 0. The system (8) is strongly accessible if R(x, T ) has a nonempty interior in N for every x ∈ N and every T > 0, and controllable if ∪T ≥0 R(x, T ) = N for every x ∈ N . It is clear that, given μ ∈ R3 , the controllability of (8) implies that the set of states in SO(3) × R3 × Rq that can be reached by following solutions of (2), (5) and (6) is Mμ . The following theorem is our main result. Theorem 4.1: For every μ ∈ R3 , the system (8) is strongly accessible and controllable on N . The proof of Theorem 4.1 depends on the following result concerning the behavior of the uncontrolled system obtained by setting the gimbal rates to zero in (8). 3626 Proposition 4.1: For every μ ∈ R3 , the vector field fμ is weakly positively Poisson stable on N . Proof: Let μ ∈ R3 , θ ∈ Rq , and consider the vector field h on SO(3) defined by h(R) = RS J −1 RT μ − ν(θ) . Since the gimbal angles do not change along the vector field fμ , it is sufficient to show that the vector field h is weakly positively Poisson stable on SO(3). Define a differential form Ω on SO(3) by ΩR (V1 , V2 , V3 ) = v1T (v2 × v3 ), where R ∈ SO(3), Vi ∈ TR SO(3), i = 1, 2, 3, and vi = S −1 (RT Vi ) ∈ R3 , i = 1, 2, 3. The form Ω is a (nondegenerate) volume form since ΩR (V1 , V2 , V3 ) is nonzero whenever Vi ∈ TR SO(3), i = 1, 2, 3, are linearly independent. Moreover, Ω is left invariant, that is, for every S ∈ SO(3), R ∈ SO(3) and Vi ∈ TR SO(3), i = 1, 2, 3, ΩSR (SV1 , SV2 , SV3 ) = ΩR (V1 , V2 , V3 ). We claim that the flow of h preserves the volume form Ω, that is, the Lie derivative of Ω along h is zero. To compute the Lie derivative Lh Ω, let R ∈ SO(3), and let Vi ∈ TR SO(3), i = 1, 2, 3. There exist left invariant vector fields ξi , i = 1, 2, 3, on SO(3) such that ξi (R) = Vi , i = 1, 2, 3. Define p : SO(3) → R by p(S) = ΩS (ξ1 (S), ξ2 (S), ξ3 (S)). We use Proposition 2.4.15 of [11] to compute (Lh Ω)R (V1 , V2 , V3 ) = (Lh p)(R) − ΩR ([h, ξ1 ](R), ξ2 (R), ξ3 (R)) − ΩR (ξ1 (R), [h, ξ2 ](R), ξ3 (R)) − ΩR (ξ1 (R), ξ2 (R), [h, ξ3 ](R)). (11) Since Ω as well as the vector fields ξ1 , ξ2 , ξ2 are left invariant, it follows that ΩS (ξ1 (S), ξ2 (S), ξ3 (S)) = ΩI (ξ1 (I), ξ2 (I), ξ3 (I)) for every S ∈ SO(3), where I is the identity matrix in SO(3). The function p is thus a constant function, and hence the first term on the righthandside of (11) is zero. To compute the last three terms on the righthandside of (11), we use (1) to compute [h, ξi ](R) = RS(α(R) × vi ) + RS(J −1 (vi × β(R))), (12) where α : SO(3) → R3 and β : SO(3) → R3 are given by α(R) = J −1 (RT μ − ν(θ)) and β(R) = RT μ, respectively, while vi = S −1 (RT Vi ) = S −1 (ξi (I)) ∈ R3 , i = 1, 2, 3. The identity aT J −1 (J −1 b × J −1 c) = (det J −1 )aT (b × c), a, b, c ∈ R3 , can be used to show that J −1 (vi × β(R)) = (det J −1 )(Jvi × Jβ(R)). Familiar properties of the cross product and the triple scalar product on R3 can now be used to show that the sum of the last three terms in (11) is zero. It now follows that the flow of h preserves the volume form Ω on SO(3). Since SO(3) is compact, it follows from Poincarè’s Recurrence Theorem [15, §16] that the vector field h, and hence the drift vector field fμ , is weakly positively Poisson stable. def Proof of Theorem 4.1: Let μ ∈ R3 . Let ξ1 = [g1 , fμ ], def def ξ2 = [g1 , ξ1 ] and ξ3 = [ξ1 , ξ2 ]. Treating the drift and control vector fields of (8) as vector fields on R3×3 × Rq and using (1) yields ξ1 (x) = ξ2 (x) = ξ3 (x) = −RS J −1 ν1 (θ1 ) , 0 , RS J −1 ν1 (θ1 ) , 0 , −1 RS J ν1 (θ1 ) × J −1 ν1 (θ1 ) , 0 , where x = (R, θ) ∈ N . Since ν1 (θ1 ) is orthogonal to ν1 (θ1 ) while ν1 (θ1 ) is directed along −ν1 (θ1 ), it follows that the vector fields ξ1 , ξ2 and ξ3 are linearly independent at every point in N . Clearly, the control vector fields g1 , . . . , gq are mutually linearly independent as well as linearly independent from the vector fields ξ1 , ξ2 and ξ3 at every x ∈ N . Since the vector fields ξ1 , ξ2 , ξ3 , g1 , . . . , gq are contained in the strong accessibility algebra [16, Prop. 3.20], it follows from [14, Corr. 4.7], [16, Thm. 3.21] that the system (8) is strongly accessible. Strong accessibility implies accessibility. By Proposition 4.1, the drift vector field of (8) is weakly positively Poisson stable. Controllability now follows from Theorem 3 of [13]. The assertion of controllability in Theorem 4.1 implies that, for every μ ∈ R3 , the set of states reachable from every z ∈ Mμ ⊆ SO(3) × R3 × Rq is Mμ . In other words, the system described by (2), (5) and (6) can be steered between any two states lying on the same angular momentum level set by using suitable gimbal motions. It should be noted that this result is independent of the number and arrangement of CMGs in the CMG array. It is also worth emphasizing that, as in the case of typical controllability results, the proof of Theorem 4.1 is only existential and not constructive. While Theorem 4.1 guarantees the existence of gimbal motions that steer the system (2), (5)-(6) between two arbitrarily specified states lying on an angular momentum level set, the proof does not provide an explicit construction of such gimbal motions. Practical applications involve steering the spacecraft to a desired combination of attitude and angular velocity, while the corresponding terminal CMG configuration is not specified. For instance, typical applications could require maneuvering the spacecraft to a desired arbitrary rest attitude, or to a state such that the spacecraft spins about a desired body-fixed axis which also coincides with a desired inertial direction. Such maneuvers are possible only if the angular momentum level set containing the initial state contains a “rich” supply of states in SO(3) × R3 × Rq that project onto the desired terminal attitudes and angular velocities in SO(3) × R3 . In other words, while the system is guaranteed to be controllable on every angular momentum level set irrespective of the nature of the CMG array, our ability to maneuver the spacecraft to practically useful states depends on the structure of the angular momentum level set which, as our next result illustrates, depends on the CMG array. Our next result gives a sufficient condition on the CMG array for a given angular momentum level set to contain all states in which the spacecraft is instantaneously spinning about a given body-fixed axis at a given spin rate. The condition on the CMG array is stated in terms of its momentum def volume, the set V = ν(Rq ) ⊆ R3 of all possible angular momentum vectors of the CMG array. 3627 Proposition 4.2: If μ ∈ R3 , Ω ∈ R and γ ∈ S2 are such that V contains a sphere of radius μ centered at −ΩJγ, then, for every ζ ∈ S2 , every state on Mμ can be steered to a state in which the spacecraft rotates instantaneously at the rate Ω about a unit vector whose body components are given by γ and inertial components are given by ζ. Proof: Suppose μ ∈ R3 , Ω ∈ R and γ ∈ S2 are such that V contains a sphere of radius μ centered at −ΩJγ. Then, for every R ∈ SO(3), it follows that RT μ − ΩJγ ∈ V, that is, there exists θ ∈ Rq such that R(ΩJγ + ν(θ)) = μ. It now follows that, for every ζ ∈ S2 and every R ∈ SO(3) satisfying Rγ = ζ, there exists θ ∈ Rq such that (R, ΩJγ, θ) ∈ Mμ . The result now follows from the assertion of controllability in Theorem 4.1. The previous result gives sufficient conditions under which the spacecraft can be maneuvered to a state of spin about a desired instantaneous body-fixed axis that is also oriented along a desired inertial direction. It should be noted, however, that Proposition 4.2 does not assert that such a spin state can be maintained for any length of time. The angular momentum variation of the CMG array that is required to sustain spinning motion at a spin rate Ω about a unit vector having body components γ ∈ S2 is periodic and given by t → exp(−ΩtS(γ))μ − ΩJγ, (13) where exp : so(3) → SO(3) is the matrix exponential and μ ∈ R3 gives the constant inertial components of the total angular momentum. While the hypotheses of Proposition 4.2 guarantee that the righthandside of (13) is contained in the momentum volume V at every instant, it is not clear if there always exist smooth gimbal motions that give rise to the variation (13) required to sustain the spinning motion in the case where μ = 0. The corollary below specializes Proposition 4.2 the case where the spacecraft has to be maneuvered to come to rest in a desired attitude. Corollary 4.1: Suppose μ ∈ R3 is such that V contains a sphere of radius μ centered at the origin. Then, for every desired attitude, every state in Mμ can be steered to a state in which the spacecraft is at rest in the desired attitude. Proof: The result follows from Proposition 4.2 by letting Ω = 0. V. C ONCLUSION We have shown that, irrespective of the number and arrangement of CMGs, it is possible to steer the combined system comprising the spacecraft and CMGs between arbitrary states having the same total inertial angular momentum. However, the ability to steer the spacecraft to a desired ter- minal combination of attitude and angular velocity for a given total angular momentum depends on the CMG array. We have given sufficient conditions on the CMG array under which it is possible to steer the spacecraft to a desired spin state or rest attitude for a given total inertial angular momentum. Our results hold in spite of the fact that every CMG array possesses singular configurations, indicating that the presence of singular configurations does not pose an obstruction to attitude controllability. It remains an open problem to determine whether singular configurations pose an obstruction to other system theoretic properties such as stabilizability and small time local controllability. R EFERENCES [1] W. E. Haynes, “Control moment gyros for the space shuttle,” in IEEE Position Location and Navigation Symposium, New York, NY, 1984, pp. 113–115. [2] G. Murgulies and J. N. Aubrun, “Geometric theory of single-gimbal control moment gyro systems,” Journal of Astronautical Sciences, vol. XXVI, no. 2, pp. 159–191, 1978. [3] R. H. Kraft, “CMG singularity avoidance in attitude control of a flexible spacecraft,” in Proceedings of the American Control Conference, San Fransisco, CA, 1993, pp. 56–58. [4] J. Paradiso, “Global steering of single gimballed control moment gyroscopes using a directed search,” Journal of Guidance, Control and Dynamics, vol. 15, no. 5, pp. 1237–1244, 1992. [5] N. S. Bedrossian, J. Paradiso, E. V. Bergmann, and D. Rowell, “Steering law design for redundant single-gimbal control moment gyroscopes,” Journal of Guidance, vol. 13, no. 6, pp. 1083–1089, 1990. [6] M. D. Kuhns and A. A. Rodriguez, “Singularity avoidance control laws for a multiple CMG spacecraft attitude control system,” in Proceedings of the American Control Conference, Baltimore, MD, 1994, pp. 2892– 2893. [7] S. R. Vadali, H.-S. Oh, and S. R. Walker, “Preferred gimbal angles for single gimbal control moment gyros,” Journal of Guidance, vol. 13, no. 6, pp. 1090–1095, 1990. [8] H. Kurokawa, “Constrained steering law of pyramid-type control moment gyros and ground tests,” Journal of Guidance, Control, and Dynamics, vol. 20, no. 3, pp. 445–449, 1997. [9] P. E. Crouch, “Spacecraft attitude control and stabilization: Applications of geometric control theory to rigid body models,” IEEE Transactions on Automatic Control, vol. 29, no. 4, pp. 321–331, 1984. [10] S. P. Bhat, “Controllability of nonlinear time-varying systems: Applications to spacecraft attitude control using magnetic actuation,” IEEE Transactons on Automatic Control, to appear. [11] R. Abraham and J. E. Marsden, Foundations of Mechanics. Reading, Massachusetts: Addison-Wesley, 1978. [12] K.-Y. Lian, L.-S. Wang, and L.-C. Fu, “Global attitude representation and its Lie bracket,” in Proceedings of the American Control Conference, San Francisco, CA, June 1993, pp. 425–429. [13] ——, “Controllability of spacecraft systems in a central gravitational field,” IEEE Transactions on Automatic Control, vol. 39, no. 12, pp. 2426–2441, 1994. [14] H. J. Sussmann and V. Jurdjevic, “Controllability of nonlinear systems,” Journal of Differential Equations, vol. 12, pp. 95–116, 1972. [15] V. I. Arnold, Mathematical Methods of Classical Mechanics, 2nd ed. New York: Springer-Verlag, 1989. [16] H. Nijmeijer and A. J. van der Schaft, Nonlinear Dynamical Control Systems. New York: Springer-Verlag, 1990. 3628