High control authority variable speed control moment gyroscopes

10202208 ยท 2019-02-12

Assignee

Inventors

Cpc classification

International classification

Abstract

A variable speed control moment gyroscope (VSCMG) having a desired offset between the center of mass of the gimbal frame and the center of mass of the flywheel. This gives the VSCMG a higher control authority than an otherwise identical VSCMG without the desired offset at identical gimbal and flywheel rotation rates. Thus the VSCMG generates more angular momentum and torque than an otherwise identical VSCMG without the desired offset at identical gimbal and flywheel rotation rates and per the same unit power consumption. The VSCMG can be operated without any control singularities in a map between the gimbal rate and/or the flywheel rate and the angular momentum or torque produced by the VSCMG. The desired offset is typically at least an order of magnitude greater than an offset between the center of mass of the gimbal frame and the center of mass of the flywheel occurring during manufacture of the VSCMG due to manufacturing tolerances.

Claims

1. A variable speed control moment gyroscope (VSCMG) comprising: a gimbal frame; a flywheel; and an offset between a rotational axis of said gimbal frame and a radial line passing through a center of mass of said flywheel, said offset in a direction of said flywheel's rotation axis, wherein said radial line is parallel to said rotational axis; wherein said VSCMG does not comprise a control singularity in a map between a gimbal rotation rate and/or a flywheel rotation rate and angular momentum or torque produced by said VSCMG.

2. The VSCMG of claim 1 wherein angular momentum and torque produced by said VSCMG increases with a distance of said VSCMG from a center of mass of a spacecraft bus.

3. The VSCMG of claim 1 wherein a gimbal coordinate frame is not the same as its principal axis frame.

4. The VSCMG of claim 1 wherein a flywheel fixed coordinate frame is not the same as its principal axis frame.

5. The VSCMG of claim 1 wherein a gimbal inertia is not about said rotational axis of said gimbal frame.

6. The VSCMG of claim 1 wherein said offset is at least an order of magnitude greater than an offset between said rotational axis of said gimbal frame and said center of mass of said flywheel occurring during manufacture of said VSCMG due to manufacturing tolerances.

7. The VSCMG of claim 6 wherein said offset is specified in a design of said VSCMG.

8. The VSCMG of claim 1 wherein said flywheel is axisymmetric.

9. The VSCMG of claim 1 wherein said flywheel rotates with a variable angular speed.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The accompanying drawings, which are incorporated into and form a part of the specification, illustrate embodiments of the present invention and, together with the description, serve to explain the principles of the invention. The drawings are only for the purpose of illustrating embodiments of the invention and are not to be construed as limiting the invention. In the drawings:

(2) FIG. 1a is a CAD rendering of an embodiment of a VSCMG comprising an axisymmetric rotor; FIGS. 1b and 1c are vector representations of VSCMG axes, with the rotor offset in the axial direction ((t) from the center of mass of the gimbal about its axis g.

(3) FIG. 2a is a CAD rendering of three VSCMGs in a tetrahedron configuration; FIG. 2b shows a satellite comprising three VSCMG actuators; FIG. 2c is a vector representation of three VSCMGs in the tetrahedron configuration with respect to the base body coordinate frame [XYZ].

(4) FIG. 3a is a graph of the norm of angular velocity of the spacecraft base-body; FIG. 3b is a graph of the norm of control torque; FIG. 3c is a graph of attitude stabilization error, and FIG. 3d is a graph of the norm of VSCMG angular momentum, output u=custom character{dot over ()}.

(5) FIG. 4a is a graph showing the VSCMG gimbal rate at =0, and FIG. 4b is a graph showing the VSCMG gimbal rate at =0.005 m.

(6) FIG. 5a is a graph showing the VSCMG rotor rate at =0, and FIG. 5b is a graph showing the VSCMG rotor rate at =0.005 m.

(7) FIG. 6a is a graph showing the difference in the gimbal rate between zero offset VSCMGs and nonzero-offset VSCMGs in corresponding locations in a tetrahedron configuration, i.e. {dot over ()}.sub.e.sup.i={dot over ()}.sub.=0.sup.i{dot over ()}.sub.0.sup.i.

(8) FIG. 6b is a graph showing the difference in the rotor rate between three zero offset VSCMG and a nonzero-offset VSCMG in corresponding locations in a tetrahedron configuration, i.e. {dot over ()}.sub.e.sup.i={dot over ()}.sub.=0.sup.i{dot over ()}.sub.0.sup.i.

(9) FIG. 7 is a table of simulation parameters.

(10) FIG. 8a shows an embodiment of a micro-VSCMG for a 1U cubesat.

(11) FIG. 8b shows a 1U cubesat comprising a plurality of VSCMG's of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

(12) Control moment gyroscopes are used inside spacecraft for fine pointing control and other maneuvers requiring a change in the spacecraft's orientation. Variable speed control moment gyroscopes (VSCMGs) typically comprise a flywheel or rotor whose rotation speed can be varied and whose rotation axis is mounted orthogonal to a gimbal; this gimbal is typically rotated about an axis fixed in the spacecraft body. Most manufactured CMGs have small offsets between the center of mass of the gimbal on which the flywheel is mounted, and the center of mass of the flywheel itself. It is difficult to ensure that these center of mass locations match up exactly. Embodiments of the present invention are novel hardware designs and associated control software for a VSCMG that includes Inertia variations of the gimbal on which the flywheel is mounted, taking into account the mass and rotational inertia of the gimbal frame structure. There is preferably an offset between the center of the rotor and the center of the gimbal axis, which increases the control authority for attitude maneuvers of the spacecraft. In the existing technical literature on the dynamics and controls of spacecraft with single gimbal CMG, the effects of the mass and inertia of the gimbal frame, the offset of center of mass of the rotor from the gimbal rotation axis, and the angular rate and angular acceleration of the gimbal, are not considered significant. However, these parameters can have significant effect on the rotation rates of the flywheel and the gimbal required for typical spacecraft de-tumbling and reorientation maneuvers, leading to as large as a 20% change in the rotation rates for spacecraft de-tumbling maneuvers for micro- and nano-spacecraft. The present VSCMG hardware design and software control scheme is based on an accurate dynamics model without unnecessary assumptions that lead to control singularities in other designs. In particular, embodiments of the present VSCMG design require smaller gimbal and flywheel rotation rates to provide the same control authority on the spacecraft bus for a typical spacecraft de-tumbling maneuver, compared with existing designs.

(13) Attitude Kinematics of a Spacecraft with One VSCMG

(14) The dynamics model of a spacecraft with a single VSCMG is formulated. The gimbal axis of the VSCMG is orthogonal to the rotor's axis of rotation, which passes through its center of mass. There is a scalar offset along the rotor axis between the centers of mass of the gimbal and the rotor; this offset is denoted . A schematic CAD rendering of a VSCMG assembly, is shown in FIG. 1a. Consider a right-handed coordinate frame fixed to the center of mass of the spacecraft base body (spacecraft bus), which has a VSCMG as an internal attitude actuator. The attitude of the spacecraft is given by the rotation matrix from this base body-fixed coordinate frame to an inertially fixed coordinate frame. Consider the gimbal of the VSCMG to rotate about an axis fixed with respect to this spacecraft base body coordinate frame. Let gcustom character.sup.2 denote the fixed axis of rotation of the gimbal, and let ((t))custom character.sup.2 denote the instantaneous direction of the axis of rotation of the rotor at time instant t, both expressed as unit vectors in the base body coordinate frame. By construction, ((t)) is normal to the fixed gimbal axis g. Let be the distance of the center of rotation of the rotor from the center of mass of the gimbal; this distance is assumed to be along the vector ((t)). Define a VSCMG gimbal-fixed coordinate frame with its first coordinate axis along g, its second axis along ((t) and its third axis along g((t)), to form a right-handed orthonormal triad of basis vectors as depicted in FIG. 1b.

(15) Rotational Kinematics

(16) Let (t) represent the gimbal angle, which is the rotation angle of rotor axis about the gimbal axis g. Therefore, if .sub.0 denotes the initial rotor axis direction vector with respect to the base body frame, the rotor axis at time t>0 is given by
((t))=exp((t)g.sup.)(0)=cos(t).sub.0+sin(t)(g.sub.0),(1)
using Rodrigues' rotation formula. Let R.sub.g denote the rotation matrix from the VSCMG gimbal-fixed coordinate frame to the spacecraft base body coordinate frame, which can be expressed as
R.sub.g((t))=[g ((t)) g((t))].(2)
The time rate of change of the rotor axis ((t)) is given by
{dot over ()}((t), {dot over ()}(t))={dot over ()}(t)(cos(t)(g.sub.0)sin(t).sub.0)={dot over ()}(t)g.sup.((t)). (3)
where the map ().sup.:custom character.sup.3.fwdarw.custom character(3) is the vector space isomorphism custom character.sup.3 and custom character(3), given by:

(17) g x = [ g x g y g z ] x = [ 0 - g z g y g z 0 - g x - g y g x 0 ] .

(18) The time derivative of R.sub.g is then given by

(19) R . g ( ( t ) , . ( t ) ) = [ 0 | . ( t ) g ( ( t ) ) | g . ( ( t ) ) ] = [ 0 | . ( t ) g ( ( t ) ) | g ( . ( t ) g ( ( t ) ) ) ] . ( 4 )
Using the vector triple product (a.sup.b.sup.c=(a.sup.Tc)b(a.sup.Tb)c) identity in the last step above, the above can also be expressed as
{dot over (R)}.sub.g((t), {dot over ()}(t))=R.sub.g((t))[0|{dot over ()}(t)e.sub.3|{dot over ()}(t)e.sub.2]={dot over ()}(t)R.sub.g((t))e.sub.1.sup.,(5)
where e.sub.1=[1 0 0].sup.T, e.sub.2=[0 1 0].sup.T and e.sub.3=[0 0 1].sup.T are the standard basis vectors (as column vectors) of custom character.sup.3. Since e.sub.1 denotes the gimbal axis in the gimbal-fixed frame, the angular velocity of the gimbal-fixed frame with respect to the base body, expressed in the base body frame, is
.sub.g(t, {dot over ()})={dot over ()}(t)g.(6)
Let (t) denote the instantaneous angle of rotation of the rotor about its symmetry axis ((t)); this is the angle between the first axis of a VSCMG rotor-fixed coordinate frame and the gimbal axis, where the rotor axis forms the second coordinate axis of this coordinate frame. For a VSCMG, the angular speed of the rotor {dot over ()}(t) is time-varying and a constant rotor rate corresponds to a CMG. The rotation matrix from this VSCMG rotor-fixed coordinate frame to the base body coordinate frame is
R.sub.r((t), (t))=R.sub.g((t))exp((t)e.sub.2.sup.).(7)
The time rate of change of the rotation matrix R.sub.r is obtained as follows:

(20) R . r ( ( t ) , ( t ) , . ( t ) , . ( t ) ) = R . g ( ( t ) , . ( t ) ) exp ( ( t ) e 2 x ) + R g ( ( t ) ) exp ( ( t ) e 2 x ) . ( t ) e 2 x = . ( t ) R r ( ( t ) , ( t ) ) ( exp ( - ( t ) e 2 x ) e 1 ) x + R r ( ( t ) , ( t ) ) . ( t ) e 2 x ,
using the fact that R.sup.Ta.sup.R=(R.sup.Ta).sup.for RSO(3) and acustom character.sup.3. It can be verified that the following holds for custom character.sup.1:
exp(e.sub.2.sup.)e.sub.1=(cos)e.sub.1(sin)e.sub.3.
Making use of this identity, the time derivative of R.sub.r can be expressed as
{dot over (R)}.sub.r((t), (t), {dot over ()}(t), {dot over ()}(t))=R.sub.r((t), (t))({dot over ()}(t)((cos((t))e.sub.1+(sin(t))e.sub.3)+{dot over ()}(t)e.sub.2.sup..

(21) Therefore, the angular velocity of the VSCMG rotor with respect to the base body, expressed in the base body frame, is

(22) r ( ( t ) , . ( t ) , . ( t ) ) = R r ( ( t ) , ) ( . ( t ) ( ( cos ( t ) ) e 1 + ( sin ( t ) ) e 3 ) + . ( t ) e 2 ) = . ( t ) R g ( ( t ) ) e 1 + . ( t ) R g ( ( t ) ) e 2 = . ( t ) g + . ( t ) ( ( t ) ) . ( 8 )
Let R(t) denote the rotation matrix from the base body-fixed coordinate frame to an inertial coordinate frame. If (t) is the total angular velocity of the base body with respect to the inertial frame and expressed in the base body frame, then the attitude kinematics of the base body is given by
{dot over (R)}(t)=R(t)(t).sup..(9)

(23) Let .sub.9 denote the position vector from the center of mass of the base-body to the center of mass of the gimbal, expressed in the base body frame. The position vector from the center of mass of the base-body to the center of mass of the rotor is therefore given by .sub.r((t))=.sub.g+((t)) in the base body frame. These vectors can be expressed in the inertial frame as
r.sub.g(R(t))=R(t).sub.g and r.sub.r(R(t), (t))=R(t).sub.r((t)).
Thus, the inertial velocities of these centers of masses with respect to the base-body center of mass are given by
{dot over (r)}.sub.g(R(t), (t))=R(t)(t).sup..sub.g and {dot over (r)}.sub.r(R(t), (t), (t), {dot over ()}(t))=R(t)((t).sup..sub.r((t))+{dot over ()}(t)g.sup.((t))).(10)

(24) The spacecraft with a VSCMG has five rotational degrees of freedom, which are described by the variables , and R. The configuration space Q of this system has the structure of a principal (fiber) bundle with base space B=custom character.sup.2=custom character.sup.1custom character.sup.1 and fiber G=SO(3).

(25) Lagrangian Dynamics: The Lagrangian of a Spacecraft with One VSCMG

(26) The dynamics model of a spacecraft with a VSCMG is developed in this section. The generalized model of a VSCMG consists of a rotor of mass m.sub.r and inertia matrix J.sub.r about its center of mass; this rotor is mounted on a gimbal structural frame of mass m.sub.g and inertia matrix J.sub.g about its center of mass. For notational convenience, the time-dependence of variables are not explicitly denoted, i.e., =(t), R.sub.g()=R.sub.g((t)), {dot over (r)}.sub.r(, {dot over ()})={dot over (r)}.sub.r((t), {dot over ()}) etc. Therefore, the total rotational kinetic energy of the gimbal (alone) is

(27) T g ( , , . ) = 1 2 ( + g ( . ) ) T R g ( ) J g R g ( ) T ( + g ( . ) ) + 1 2 m g r . g T r . g , ( 11 )
and the total rotational kinetic energy of the rotor (alone) is

(28) T r ( , , . , , . ) = 1 2 ( + r ( , . , . ) ) T R r ( , ) J r R r ( , ) T ( + r ( , . , . ) ) + 1 2 m r r . r ( , . ) T r . r ( , . ) ( 12 )
Let J.sub.b denote the inertia matrix of the base body expressed in the base body frame. The rotational kinetic energy of the base body of the spacecraft is

(29) T b ( ) = 1 2 T J b . ( 13 )
Therefore, the total rotational kinetic energy of the system is
T(, , {dot over ()}, , {dot over ()})=T.sub.g(, , {dot over ()})+T.sub.r(, , {dot over ()}, , {dot over ()})+T.sub.b().(14)
In a compact notation, the total kinetic energy (14) of a spacecraft with a VSCMG is expressed as

(30) T ( , ) = 1 2 T �� ( ) , ( 15 )
where,

(31) = [ ( t ) ( t ) ] . = [ ( t ) . ( t ) ] and �� ( ) = [ ( ) B ( ) B ( ) T J g r ( ) ] . ( 16 )
Associated quantities of equation (16) are:
()=.sub.0+I.sub.T(); .sub.0=J.sub.b(m.sub.g+m.sub.r)(.sub.g.sup.).sup.2,
I.sub.T()=J.sub.c()+I.sub.c()m.sub.r().sup..sub.g.sup.,(17)
J.sub.c()=R.sub.g()J.sub.gR.sub.g().sup.T+R.sub.r()J.sub.rR.sub.r().sup.T,(18)
I.sub.c()=m.sub.r(.sub.g.sup.().sup.+(().sup.).sup.2),(19)
B()=[(J.sub.c()+I.sub.c())g R.sub.rJ.sub.rR.sub.r.sup.T()]custom character.sup.32,
I.sub.r()=m.sub.r(().sup.).sup.2,(20)

(32) 0 J g r ( ) = [ g T ( J c ( ) + I r ( ) ) g g T R r J r R r T ( ) ( ) T R r J r R r T g ( ) T R r J r R r T ( ) ] 2 2 . ( 21 )
Consider the spacecraft system to be in the absence of any gravitational potential. In this case, the Lagrangian for the spacecraft with a VSCMG is given by
L(, )=T(, ).(22)
Note that the Lagrangian is independent of the attitude R of the base body in this case.
Lagrangian Dynamics: Equations of Motion

(33) The equations of motion for a spacecraft with a VSCMG are obtained using variational mechanics, taking into account the geometry of the configuration space. The action functional over a time interval [0, T] is defined as
S(L(, ))=.sub.0.sup.TL(, )dt,(23)
which depends on the time evolution of the states R, , , {dot over ()}, and {dot over ()} in this interval. Note that , {dot over ()} are uniquely specified by a, {dot over (a)} and the constant vector g. In the presence of non-conservative external and internal torques to the spacecraft base body and the VSCMG, the Lagrange-d'Alembert principle is used to obtain the dynamics equations of motion for the system. Considering only non-conservative internal torques acting on the gimbal .sub.g and rotor .sub.r of the VSCMG, then Lagrange-d'Alembert principle for the system can be written as

(34) S + 0 T T d t = 0 , where = [ g ( t ) r ( t ) ] . ( 24 )

(35) Before obtaining the first variation of the action functional, the first variations of the variables RSO(3), custom character.sup.3, custom character.sup.2, and {dot over ()}T.sub.custom character.sup.2 are expressed as follows:
R=R.sup., ={dot over ()}+,(25)
=g.sup., {dot over ()}={dot over ()}g.sup.+g.sup.{dot over ()},(26)
where .sup.custom character(3) gives a variation vector field on SO(3); thus, R is tangent to SO(3) at the point R. Using equation (3), the vector triple product identity, and the fact that g and are orthogonal vectors, the second of equations (26) can be expressed as
{dot over ()}={dot over ()}g.sup.{dot over ()}.(27)

(36) These variations must be fixed endpoint variations, such that:
(0)=(T)=0, (0)=(T)=0, and (0)=(T)=0.

(37) Define the following angular momentum quantities, which depend on the kinetic energy (15):

(38) .Math. = = T = ( ) + B ( ) . , ( 28 )

(39) p = . = T . = B ( ) T + J gr ( ) . . ( 29 )
The equations of motion obtained from applying the Lagrange-d'Alembert principle (24) are as follows:

(40) d d t = ( 30 )

(41) dp d t = T + ( 31 )
For an axis-symmetric rotor rotating about its axis of symmetry, the Lagrangian is independent of the angle and the scalar angular momentum p.sub.would be conserved in the absence of any friction or torques acting on the rotor.

(42) Lagrangian Dynamics: Relations Between Total Angular Momentum and VSCMG Momenta The angular momenta (p.sub. and p.sub.) corresponding to the two degrees of freedom of the VSCMG, are related to the angular rates {dot over ()}, {dot over ()} and spacecraft base body's angular velocity vector as follows:

(43) [ g T ( J c ( ) + I r ( ) ) g g T R r J r R r T ( ) ( ) T R r J r R r T g ( ) T R r J r R r T ( ) ] [ . ] = [ p - g T ( J c ( ) + I c ( ) ) p - ( ) T R r J r R r T ] ( 32 )
Equation (32) can be expressed more compactly as
J.sub.gr(){dot over ()}=pB().sup.T.(33)

(44) Using the notation defined in (21)-(20), the total angular momentum of the spacecraft is expressed as:

(45) = ( 0 + I T ( ) ) Spacecraft basebody momenta + B ( ) . VSCMG momenta ( 34 )
where the first term is the spacecraft base body momenta and the second term is the VSCMG momenta. As described earlier, this configuration space has the structure of a fiber bundle with its base space coordinates given by the VSCMG coordinates and and its fiber space described by the attitude R of the base body. The total angular momentum of a spacecraft with a VSCMG can be expressed in a compact way as,

(46) [ p ] = �� ( ) [ . ] .
Spacecraft with Multiple VSCMGs

(47) The spacecraft equations of motion with one VSCMG developed previously are extended to the case of a spacecraft with multiple (n>1) VSCMGs in this section. Generalization of the relationship between internal (VSCMG) momenta and the base body's overall angular momentum for a spacecraft with n VSCMGs of the type depicted in FIG. 1b, where (n>1) is looked upon. For such a spacecraft, the configuration space Q of the dynamics is a principal bundle with base space B=custom character.sup.2custom character.sup.2 . . . custom character.sup.2 (n-fold product) or B=(custom character.sup.2).sup.n, and fiber space F=SO(3). The quantities corresponding to the ith VSCMG in the set of n VSCMGs are denoted by using the superscript ().sup.i. For this system, the mass matrix is of the form

(48) �� ( ) = [ ( ) B 1 ( 1 ) .Math. B n ( n ) B 1 ( 1 ) T J g r 1 ( 1 ) .Math. 0 .Math. .Math. .Math. 0 B n ( n ) T 0 .Math. J g r n ( n ) ] , ( 35 )
where,

(49) 0 ( ) = 0 + .Math. i = 1 n I T i ( i ) , ( 36 ) 0 = J b - .Math. i = 1 n ( ( m g i + m r i ) ( [ g i ] x ) 2 ) , ( 37 ) I T i ( i ) = .Math. i = 1 n R g i J g ( R g i ) T + R r i J r ( R r i ) T - m r i i [ i ( i ( i ) x ) 2 - ( i ( ( i ) x ( g i ) x + ( g i ) x i ( i ) x ) ] , ( 38 )
and .sup.i=[.sup.i.sup.i].sup.Tcustom character.sup.2 denotes the vector of angles of the ith VSCMG. The structure of the mass matrix ()custom character.sup.(3+2n)(3+2n) shows that the angular momentum contributions from each individual VSCMG to the base body's total angular momentum, are given by the B.sup.i(.sup.i). The total angular momentum of the spacecraft with multiple VSCMGs is given by

(50) .Math. = ( 0 + .Math. i = 1 n I T i ( i ) ) + .Math. i = 1 n B i ( i ) . i = ( ) + B ( ) . , ( 39 )
where =[.sup.1.sup.2 . . . .sup.n].sup.T=.sub.i=1.sup.n[.sup.i].sup.Tcustom character.sup.2n,(40)
and B=[B.sup.1(.sup.1)B.sup.2(.sup.2) . . . B.sup.n(.sup.n)]custom character.sup.32n.(41)
The angular momentum of the ith VSCMG, denoted p.sup.i, is given by
p.sup.i=B.sup.i(.sup.i).sup.T+J.sub.gr.sup.i(.sup.i){dot over ()}.sup.i.(42)

(51) The vectors p.sup.i can be concatenated to form a vector custom charactercustom character.sup.2n
custom character=.sub.i=1.sup.n[p.sup.i].sup.T.(43)

(52) The relation between all angular momentum and angular velocity quantities for a spacecraft with n VSCMGs is given by combining equations (35), (40) and (43) as

(53) [ p ] = �� ( ) [ . ] . ( 44 )
Attitude Control Using VSCMG
For spacecraft attitude stabilization or tracking using VSCMGs, one needs to ensure that the angular velocity . of the spacecraft base body, or alternately the base-body momentum .sub.b, is controlled using the internal momentum u, which depends on the VSCMG rotation rates {dot over ()}. One can express the total angular momentum of the spacecraft with n VSCMGs, using equations (36) and (41) as follows
=.sub.b+u, where .sub.b=() and u=custom character(){dot over ()}.(45)
Therefore, {dot over ()}.sub.b=.sub.b+(u{dot over (u)})=.sub.b+.sub.cp,(46)
where .sub.cp=u{dot over (u)} is the control torque generated by the internal momentum u from the VSCMGs. Note that from (46) and the attitude kinematics (9), the total momentum in an inertial frame, .sub.I=R=R(.sub.b+u) is conserved. There are several control problems of interest fora spacecraft with n VSCMGs. For most applications, the common spacecraft attitude maneuvers are slewing to rest, pointing, and attitude tracking maneuver. The results and discussion for a slew to rest attitude control scheme (de-tumbling maneuver) for a spacecraft with multiple VSCMGs are presented in Sanyal, A., Prabhakaran, V., Leve, F., and McClamroch, N., 2013, Geometric approach to attitude dynamics and control of spacecraft with variable speed control moment gyroscopes, in 2013 IEEE International Conference on Control Applications (CCA), pp. 556-561; and Viswanathan, S. P., Sanyal, A., Leve, F., and McClamroch, H. N., 2013. Geometric mechanics based modeling of the attitude dynamics and control of spacecraft with variable speed control moment gyroscopes, in ASME Dynamical System Control Conference, no. DSCC 2013-4033.
Pointing Maneuver of Spacecraft with n VSCMGs

(54) The objective of a pointing maneuver of spacecraft with n VSCMGs is to point a body-fixed imaging, communication or other instrument in a specified direction in the reference frame, where rotation about that specified body-fixed direction are not important. The control problem of pointing the spacecraft to a desired attitude in the zero level momentum set given by .sub.I=0, is considered. Therefore, equation (45) becomes .sub.b+u=0, which gives u=.sub.b as the effective control provided by the VSCMG angular rates. To achieve this, a continuous feedback controller given by
.sub.cp(R, ):SO(3)custom character.sup.3.fwdarw.custom character.sup.3,
is selected that asymptotically stabilizes the desired attitude equilibrium given by the desired attitude R.sub.dSO(3) and the angular velocity, (t)=0.
The continuous feedback control torque for this system given by,
.sub.cp=L.sub.vL.sub.p(R)(47)
where L.sub.v, L.sub.pcustom character.sup.33 are positive definite matrices and the map

(55) ( R ) = .Math. i = 1 3 a i e i ( R d T R .Math. e i ) , ( 48 )
with [e.sub.1 e.sub.2 e.sub.3]I.sub.33 and a=[a.sub.1 a.sub.2 a.sub.3].sup.T where a.sub.1, a.sub.2, and a.sub.3 are distinctive positive integers which asymptotically stabilizes the angular velocity (t) to zero vector and thereby brings the system to a desired attitude, R.sub.dSO(3). The almost global asymptotically stable control law given in equation (47) brings the spacecraft base-body from an arbitrary initial attitude and angular velocity to a rest attitude.

(56) The control inputs are the VSCMG angular rates, obtained by taking the pseudo-inverse of B in equation (45), which gives the gimbal rates ({dot over ()}.sup.i) and rotor rates ({dot over ()}.sup.i) of all VSCMGs:
{dot over ()}=custom character.sup.u,(49)
where u is obtained by integrating .sub.cp=u{dot over (u)}.The VSCMGs need to be positioned in a way such that: custom charactercustom character.sup.mn in equation (49) always has full row rank; i.e., custom character.sup. is non-singular. Then custom character.sup. is the right inverse of custom character, such that custom character.sup.=I.sub.m. The pseudo-inverse is explicitly given by,
custom character.sup.=custom character.sup.T(custom character.sup.T).sup.1.
The sufficient condition for custom character to be non-singular is given below.
Null Motion of VSCMG

(57) The rotor is often required to maintain a nominal angular rate at its breakaway velocity, to minimize the effect of static friction on the motor and bearings. This can be achieved by spinning the VSCMG gimbals and rotors, such that the vector of VSCMG rates {dot over ()} is in the null-space of custom charactercustom character.sup.32n;

(58) this is termed the null motion of the VSCMG assembly. The projection matrix to the null-space of custom character is given by
custom character=(I.sub.2n2ncustom character.sup.T(custom character.sup.T).sup.1custom character),(50)
such that custom character.sup.2=custom character and custom character=0. Let custom charactercustom character.sup.2n be the vector of preferred or nominal VSCMG rates. Then the vector of VSCMG rates with null motion is given by
{dot over ()}=custom character.sup.u+{dot over ()}.sub.n such that {dot over ()}.sub.n=custom character.(51)
Generalized VSCMG Momenta

(59) The momentum contribution from a VSCMG to the total angular momentum of the spacecraft (45) is given as
u=B(){dot over ()}=(J.sub.c()+I.sub.c()){dot over ()}g+R.sub.rJ.sub.rR.sub.r.sup.T{dot over ()}().(52)

(60) The inertia terms (18) and (19) are given as,
J.sub.c()=R.sub.gJ.sub.gR.sub.g.sup.T+R.sub.rJ.sub.rR.sub.r.sup.T, I.sub.c()=m.sub.r(.sub.g.sup.().sup.+(().sup.).sup.2),
and therefore
u={dot over ()}J.sub.c()g+{dot over ()}I.sub.c()g+{dot over ()}R.sub.rJ.sub.rR.sub.r.sup.T().(53)

(61) Note that R.sub.r=R.sub.gexp(e.sub.2.sup.). The first term on the expression for u can be simplified to

(62) J c ( ) g = R g J g R g T g + R r J r R r T g , = R g J g e 1 + R r J r ( cos e 1 + sin e 3 ) . ( 54 )
The second term in the equation (53) can be written as,

(63) . I c ( ) g = . [ - m r ( g x ( ) x + ( ( ) x ) 2 ) ] g = m r [ g x + ( ) x ] . ( ) , ( 55 )
and the last term of equation (53) is,

(64) R r J r R r T ( ) = R r J r exp ( - e 2 x ) R g T ( ) = R r J r exp ( - ( e 2 x ) e 2 = R r J r e 2 . ( 56 )
Using equations (54)-(56), the expression (53) for u leads to,
u={dot over ()}([R.sub.gJ.sub.ge.sub.1+R.sub.rJ.sub.r(cose.sub.1+sine.sub.3)]+m.sub.r.sub.g.sup.+().sup.g.sup.())+{dot over ()}R.sub.rJ.sub.re.sub.2.(57)
Any assumptions to simplify the dynamics equation of a spacecraft with VSCMG will be reflected in the equation (57).
Commonly Used Assumptions

(65) The expression (57) for the angular momentum contribution of the VSCMGs can be reduced to the well-known expression for the angular momentum contribution from a set of CMGs of the prior art, by imposing some commonly used assumptions, as first described above: (1) the offset between the rotor center of mass and the gimbal axis in the direction of the rotor's rotation axis is zero i.e., =0; (2) both the gimbal and the rotor-fixed coordinate frames are their corresponding principal axes frames, the rotor is axisymmetric, and both rotor and gimbal inertias are about their respective center of masses (i.e., J.sub.r=J.sub.r.sub.CoM and J.sub.g=J.sub.g.sub.CoM); (3) the gimbal frame structure has negligible inertia (i.e., J.sub.g0); (4) the angular rate of the gimbal frame is much smaller (negligible) compared to the rotor angular rate about its symmetry axis (i.e., {dot over ()}(t)<<{dot over ()}(t)); and (5) for a CMG, the speed of the rotor {dot over ()} is constant (i.e., the

(66) VSCMG is operated as a standard SGCMG). The following analysis shows how this series of assumptions leads to the common model for the control torque on a spacecraft due to a standard control moment gyroscope. Here, the VSCMG momenta given in the expression (53) is reduced by applying the above-summarized assumptions, one by one in sequence.

(67) Assumption (1): VSCMG rotor center of mass is perfectly aligned with gimbal center of mass along the gimbal axis g, i.e., setting =0 in equation (53). This leads to the following simplification,
u={dot over ()}(R.sub.gJ.sub.ge.sub.1+R.sub.rJ.sub.r(cose.sub.1+sine.sub.3))+{dot over ()}R.sub.rJ.sub.re.sub.2.(58)
Assumption (2): By using the assumption that both the gimbal and the rotor inertias are about their respective center of masses i.e., J.sub.r=J.sub.r.sub.CoM and J.sub.g=J.sub.g.sub.CoM; both the gimbal and the rotor fixed coordinate frames are their corresponding principal axes frames, and that the rotor is axisymmetric; thus,
J.sub.g=diag(J.sub.g1, J.sub.g2, J.sub.g3), J.sub.r=diag(J.sub.r1, J.sub.r2, J.sub.r1).
This simplifies the expression (54) to:
J.sub.c()g=J.sub.g1g+J.sub.r1R.sub.r(cose.sub.1+sine.sub.3).(59)

(68) Then expressing R.sub.re.sub.1 and R.sub.re.sub.3 as follows:

(69) R r e 1 = R g exp ( e 2 x ) e 1 = g cos - ( g ( ) ) sin , and R r e 3 = R g exp ( e 2 x ) e 3 = cos ( g ( ) ) + sin g .

(70) Substituting these in the expression for J.sub.c()g in equation (59), gives
J.sub.c(g=(J.sub.g1+J.sub.r1)g,(60)
which shows that this is a constant vector that is a scalar multiple of g. Further, reducing the last term of the expression (53) under the same assumption as,

(71) R r J r R r T ( ) = R r J r e 2 = J r r 2 R r e 2 = J r 2 R g exp ( e 2 x ) e 2 = J r 2 R g e 2 = J r 2 ( ) . ( 61 )
Substituting these simplified expressions under the assumptions that: (1) the offset =0, and (2) both the gimbal and the rotor fixed coordinate frames are their corresponding principal axes frames, and that the rotor is axisymmetric; the angular momentum due to the rotational motions of the gimbal and rotor can be expressed as:
u=(J.sub.g1+J.sub.r1)g+J.sub.r2().(62)
The rate of change of this angular momentum, which is part of the torque acting on the spacecraft's attitude dynamics due to the VSCMG, is given by
.sub.u={dot over (u)}={dot over ()}(J.sub.g1+J.sub.r1)g+{umlaut over ()}J.sub.r2()+{dot over ()}{dot over ()}J.sub.r2g.sup.().(63)

(72) Note that even under these assumptions on the symmetric inertia distribution of the VSCMG rotor and principal coordinate frame for gimbal and rotor, the torque .sub.u has components along all three axes of the coordinate frame fixed to the VSCMG gimbal. These two assumptions are commonly used, although they may not be explicitly stated.

(73) Assumption (3): The expressions for u in equation (62) and its time rate of change can be further simplified under the additional assumptions that the gimbal inertia is negligible, i.e., J.sub.gJ.sub.g10,
u={dot over ()}(J.sub.r1)g+{dot over ()}J.sub.r2().(64)
Assumption (4): The angular rate of the gimbal axis is much smaller (negligible) compared to the rotor rate about its symmetry axis (i.e., {dot over ()}(t))<<{dot over ()}(t)). Under these assumptions, the contribution to the total angular momentum of the spacecraft from the VSCMG is obtained as,
u={dot over ()}J.sub.r2().(65)
The time derivative of u(t), which is part of the control torque on the spacecraft due to the VSCMG, is evaluated under these assumptions. This is evaluated to be

(74) u = du dt = .. J r 2 ( ) = . . J r 2 g ( ) , ( 66 )
which shows that under these additional assumptions, this torque component is on the plane normal to the gimbal axis g.

(75) Assumption (5): Finally, the assumption that the speed of the rotor {dot over ()} is constant, which makes the

(76) VSCMG a standard single gimbal CMG. Under the foregoing assumptions, the time rate of change of u is found to be given by

(77) 0 u = du dt = . . J r 2 g ( ) = . g ( ) , ( 67 )
where ={dot over ()}J.sub.r2 is a constant scalar.

(78) Note that assumptions (3) and (4) eliminates the torque component of .sub.u along the gimbal axis, as can be seen from expression (66), and this component can certainly help from a control theoretic perspective. It is important to note that these assumptions and their validity have a large effect on the condition number of B() as defined by (41). Substantial research has been directed at avoiding singularities of CMG arrays or clusters, where the matrix custom character()) becomes instantaneously rank deficient. In the light of expressions (62) and (63) for u and .sub.u under the assumptions (1) and (2) for VSCMGs, it is clear that the torque due to a VSCMG can be made to equal any torque vector in custom character.sup.3 by suitable choice of , and their first two time derivatives, provided that actuator constraints on these time derivatives are not violated. Under assumptions (1), (2), and (5) for standard CMGs, it is clear that .sub.u has no component along the () axis, which is the axis of rotation (also axis of symmetry) of the flywheel. However, even in this case, unless assumptions (3) and (4) are added, the torque output .sub.u can have a non-zero component along the gimbal axis. In fact, in this case, an additional assumption that the angular acceleration {umlaut over ()}0 has to be appended to Assumption 1.4; note that {dot over (a)}<<{dot over ()} does not imply that {umlaut over ()} is negligible. From a practical viewpoint, assumptions (1) and (2) are justifiable for most (VS)CMG designs, and under these assumptions, the expressions for the angular momentum contribution from the (VS)CMGs and its time derivative in the spacecraft body frame, are given by (62) and (63). The next section deals with singularity analysis of custom character() under these first two assumptions.

(79) Singularity Analysis of Spacecraft with n VSCMGs under Assumptions (1) and (2)

(80) Expressions for the angular momentum contribution from n VSCMGs, and the time derivative of this angular momentum, are provided here. As can be seen from these expressions, the control influence matrices are non-singular when either this angular momentum or its time derivative are considered as control inputs, under simple and easy-to-satisfy conditions on the gimbal axis orientations of n VSCMGs, when n2. This shows that with as few as two VSCMGs, one can obtain a desired output angular momentum or output torque from the VSCMGs, provided that angular rate and angular acceleration constraints on the gimbal and rotor are satisfied. Consider n VSCMGs, satisfying assumptions (1) and (2); in which case the angular momentum contribution of each VSCMG is given by (62) and the time rate of this momentum for each VSCMG is given by (63). Let J.sub.g1.sup.k denote the inertia of the gimbal frame of the kth VSCMG about the gimbal axis (its symmetry axis), and let J.sub.r.sup.k=diag(J.sub.r1.sup.k, J.sub.r2.sup.k, J.sub.r1.sup.k) denote the inertia matrix of the axisymmetric rotor of the kth VSCMG, where k=1, . . . , n for n2. Then equation (62) for the momentum output of the VSCMGs in the base body coordinate frame can be generalized to
custom character()=u, where custom character()=[J.sub.g1.sup.1+J.sub.r1.sup.1)g.sub.1 J.sub.r2.sup.1.sub.1(.sub.1) . . . (J.sub.g1.sup.n+J.sub.r1.sup.n)g.sub.n J.sub.r2.sup.n.sub.n(.sub.n)]custom character.sup.32n, and =[.sub.1 .sub.1 . . . .sub.n .sub.n].sup.Tcustom character.sup.2n.(68)
The following result easily follows from the structure of the influence matrix custom character() in the above expression.
Theorem 1. For a spacecraft with two or more VSCMGs n2) satisfying assumptions 1.1 and 1.2 as stated earlier, the control influence matrix custom character() defined by (68) has full rank if g.sub.j is neither parallel nor orthogonal to g.sub.k for any pair of VSCMGs (j, k=1, . . . , n, jk).
Proof. Without loss of generality, consider the case that j=1 and k=2 in the above statement. Then the control influence matrix for the VSCMG array has its first four columns given by
(J.sub.g1.sup.1+J.sub.r1.sup.1)g.sub.1, J.sub.r2.sup.1.sub.1(.sub.1), (J.sub.g2.sup.n+J.sub.r2.sup.n)g.sub.2 and J.sub.r2.sup.2.sub.2(.sub.2).

(81) Since g.sub.1 and g.sub.2 are neither parallel nor orthogonal to each other, and since .sub.1(.sub.1) is always orthogonal to g.sub.1, the triad of vectors g.sub.1, .sub.1(.sub.1) and g.sub.2 are either non-coplanar or planar. When they are non-coplanar, they span custom character.sup.3 and hence rank (custom character())=3. At instants when g.sub.1, .sub.1(.sub.1) and g.sub.2 are co-planar, .sub.2(.sub.2) is normal to this plane since .sub.2(.sub.2) is always orthogonal to g.sub.2. Therefore, in this case, Span (g.sub.1, .sub.1(.sub.1), g.sub.2, .sub.2(.sub.2))=custom character.sup.3 and the result follows.

(82) The above result shows that it is possible to obtain any given angular momentum output with just a pair of VSCMGs, provided that constraints on the angular rates of the gimbal and rotor are satisfied. Now consider the time derivative of this angular momentum, which is the torque output from the VSCMGs acting on the spacecraft base body. For a single VSCMG, this torque output is given by the expression (63). For n2 VSCMGs, this torque output equation is given by
custom character()={dot over (u)}, where custom character()=[(J.sub.g1.sup.1+J.sub.r1.sup.1)g.sub.1 J.sub.r2.sup.1.sub.1(.sub.1) J.sub.r2.sup.1g.sub.1.sup..sub.1() . . . (J.sub.g1.sup.n+J.sub.r1.sup.n)g.sub.n J.sub.r2.sup.n.sub.n(.sub.n) J.sub.r2.sup.ng.sub.n.sup..sub.n(.sub.n)]custom character.sup.33n, and =[{umlaut over ()}.sub.1 {umlaut over ()}.sub.1 {dot over ()}.sub.1{dot over ()}.sub.1 . . . .sub.n .sub.n {dot over ()}.sub.n{dot over ()}.sub.n].sup.Tcustom character.sup.3n.(69)
Note that the control influence matrix custom character()for the torque output has the column vectors of the influence matrix custom character() for the angular momentum output, in addition to additional columns that are the third axes of each of the VSCMG gimbal-fixed coordinate frames. This observation leads to the following result, which is a corollary of Theorem 1.
Corollary 2. For a spacecraft with two or more VSCMGs satisfying assumptions 1.1 and 1.2 as given earlier, the control influence matrix C()) defined by (69) has full rank if g.sub.j is neither parallel nor orthogonal to g.sub.k for any pair of VSCMGs (j, k=1, n, jk).

(83) Theorem 1 holds even without Assumption (1), in which case 0 provides additional directions for control that lead to better controllability properties. In Section 9, attitude control of a spacecraft using VSCMGs with and without Assumption (1) is compared.

(84) A Geometric Variational Integrator for Spacecraft with VSCMGs

(85) The dynamics of the multibody system consisting of the spacecraft with VSCMGs can be discretized for numerical implementation, using a variational integrator that preserves the geometry of the state space and the conserved norm of the total angular momentum. The idea behind variational integrators is to discretize the variational principles of mechanics: Hamilton's principle for a conservative system or the Lagrange-d'Alembert principle for a system with nonconservative forcing. Variational integrators are known to show good energy behavior over exponentially long time intervals and maintain conserved momentum quantities during numerical integration for systems with conserved momenta. Geometric variational integrators combine variational integrators with geometric (e.g., Lie group) methods that preserve the geometry of the configuration upon discretization. In a geometric variational integrator for multibody systems, rigid body attitude is globally represented on the Lie group of rigid body rotations. General multi-purpose numerical integration methods do not necessarily preserve first integrals or the geometry of the configuration space. Many interesting dynamical systems, including rigid body and multibody systems, evolve on Lie groups or fiber bundles on Lie groups. Lie group methods in numerical integration techniques preserve this geometry of the configuration space by discretizing the dynamics directly on the Lie group. Treatment of Lie group variational integrators for discretization of rigid body dynamics is given in the literature. Since geometric variational integrators are variational by design, they conserve momentum quantities when the system exhibits symmetry, like the magnitude of the total angular momentum of the spacecraft with VSCMGs.

(86) Discretization of Equations of Motion

(87) In this section, the discrete equations of motion for a spacecraft with one VSCMG in the form of a geometric variational integrator, corresponding to the equations of motion (30) and (31) are obtained. This is followed by generalizing these discrete equations to the case when the spacecraft has multiple VSCMGs.

(88) Discrete Lagrangian

(89) The discrete Lagrangian function L.sub.d: QQ.fwdarw.custom character approximates the continuous Lagrangian using quadrature rules. Let h0 denote a fixed time step size, i.e., t.sub.k+1t.sub.k=h, and consider the discrete Lagrangian

(90) d t k t k + 1 dt = ( k , R k , k , . k ) h = h 2 k T �� ( k ) k , = h 2 [ k T . k T ] [ ( k ) B ( k ) B ( k ) T J g r ( k ) ] [ k . k ] . ( 70 )
For notational convenience, define (.sub.k)=.sub.k, B(.sub.k)=B.sub.k and J.sub.gr(.sub.k)=J.sub.gr,k.
Discretization of Kinematics

(91) Consider the discrete analogue of the continuous spacecraft attitude kinematics equation (9) given by,
R.sub.k+1=R.sub.kF.sub.k,(71)
such that, F.sub.k=exp(h.sub.k.sup.).(72)
The first variation of both sides of equation (72) is obtained under the assumption that .sub.k.sup. commutes with .sub.k.sup., i.e., the Lie bracket [.sub.k.sup., .sub.k.sup.]=0, as follows:
F.sub.k=h.sub.k.sup.exp(h.sub.k.sup.)=h.sub.k.sup.F.sub.k.
The variation of F.sub.k can be computed from equation (25) and (71) as F.sub.k=.sub.k.sup.F.sub.k+F.sub.k.sub.k+1.sup., then

(92) k = 1 h F k F k T = 1 h ( - k F k + F k k + 1 ) F k T , = 1 h ( - k + ( F k k + 1 ) ) , k = 1 h ( F k k + 1 - k ) . ( 73 )
The VSCMG angular rates are approximated using the trapezoidal rule as:

(93) . k k + 1 - k h and its variation , . k = 1 h ( k + 1 - k ) . ( 74 )
Discretization of Dynamics

(94) Consider the discrete Lagrangian (70) and the associated action sum

(95) S d = .Math. k = 0 N - 1 d ,
then the discrete Lagrange-dAlembert principle states that

(96) .Math. k = 0 N - 1 ( d + h d T k ) = 0. ( 75 )
The first variation of the discrete Lagrangian (70) is

(97) d = h [ k T . k T ] [ k B k B k T J g r , k ] [ k . k ] + k { d } k , = h ( k k + B k . k ) T k + h ( B k T k + J g r , k . k ) T . k + M k ( k , . k , k ) k , = h k T k + h p k T . k + M k k , ( 76 )

(98) where the discrete total angular momentum of the spacecraft (.sub.k) is obtained using equation (74) as
.sub.k=.sub.k.sub.k+B.sub.k{dot over ()}.sub.k=.sub.b,k+u.sub.k,(77)
and the internal momentum quantities are given by

(99) p k = B k T k + J g r , k . k , M k = d k , and u k = 1 h B k ( k + 1 - k )
Substituting equation (73), (74) and (76) into the Lagrange-dAlembert principle (75) gives,

(100) .Math. k = 0 N - 1 [ .Math. k T ( F k .Math. k + 1 - .Math. k ) + p k T ( k + 1 - k ) + M k k + h , k T k ] = 0. ( 78 )
Using the fact that the variations .sub.k and .sub.k vanish at the endpoints (for k=0 and k=N) and re-indexing the discrete action sum, equation (78) can be re-expressed as

(101) .Math. k = 0 N - 1 [ ( .Math. k - 1 T F k - 1 - .Math. k T ) .Math. k + ( p k - 1 T - p k T + M k + h , k T ) k ] = 0. ( 79 )
Since the above expression is true for arbitrary .sub.kand .sub.k, one obtains the following relations for the discrete dynamics:
.sub.k+1=F.sub.k.sup.T.sub.k,(80)
P.sub.k+1=P.sub.k+M.sub.k+1+h.sub.,k+1.(81)

(102) This discrete dynamics of the spacecraft with one VSCMG, given by equation (80) and (81), is generalized to the case of multiple VSCMGs in a manner similar to that in section 4. The discrete analog of the spacecraft attitude dynamics with multiple VSCMGs is obtained from equations (77) and (80), as follows:
.sub.b,k+1=F.sub.k.sup.T.sub.b,k+F.sub.k.sup.Tu.sub.ku.sub.k+1.(82)
Geometric Variational Integrator Algorithm
The algorithm for the geometric variational integrator (GVI) routine is as follows:
1. Initialize F.sub.k=exp(h.sub.k.sup.) and .sub.k+1=h{dot over ()}.sub.k+.sub.k;
2. Compute custom character.sub.k+1 and .sub.k+1 as functions of .sub.k+1;
3. Equate, F.sub.k.sup.Tu.sub.ku.sub.k+1=h.sub.cp,k=L.sub.v.sub.kL.sub.p(a.sub.ie.sub.i(R.sub.d.sup.TR.sub.ke.sub.i)) and substitute in equation (82);
4. Compute, u.sub.k+1=F.sub.k.sup.Tu.sub.kh.sub.cp,k;
5. Update VSCMG rates one time step forward as: {dot over ()}.sub.k+1=custom character.sub.k+1.sup.u.sub.k+1+(I.sub.2n2ncustom character.sub.k+1.sup.custom character.sub.k+1)N;
6. Obtain .sub.b,k+1 from dPibpl and .sub.k+1=.sub.k+1.sup.1.sub.b,k+1;
7. Loop through steps 1 to 7 for all k.
This algorithm provides an explicit geometric variational integrator, which is used in the following section to numerically simulate the dynamics of a spacecraft with multiple VSCMGs, while maintaining a constant magnitude for the total angular momentum (.sub.k+1=.sub.k by equation (80)) and preserving the geometry of the configuration space.
Numerical Simulation Results

(103) In this section, the feedback control law given by equation (47) is numerically validated on the attitude dynamics of a spacecraft with three VSCMGs in a tetrahedron configuration.

(104) Example Case of a Spacecraft with Three VSCMG in Tetrahedron Configuration

(105) A spacecraft with three VSCMGs in a tetrahedron configuration as shown in FIGS. 2a and 2b is considered in this section. Each VSCMG has identical gimbal and rotor mass, i.e. m.sub.g.sup.1=m.sub.g.sup.2=m.sub.g.sup.3=m.sub.g and m.sub.r.sup.1=m.sub.r.sup.2=m.sub.r.sup.3=m.sub.r, respectively. From FIG. 2c, the rotor axes .sub.1,2,3 and gimbal axes g.sub.1,2,3 corresponding to VSCMG.sub.1,2,3, respectively are resolved in the spacecraft base body frame. The center of mass of the spacecraft base body is kept aligned to the plane containing the intersection of g and .

(106) For the tetrahedron mount of three single-gimbal VSCMGs with skew angle of as illustrated in FIG. 2, the gimbal-axis vectors can be represented as,

(107) 0 g 1 = [ C 0 S ] ; g 2 = [ - S C C C S ] and g 3 = [ - S C - C C S ] . ( 83 )
Similarly, the rotor axis (0) at time t=0 can be represented as,

(108) 1 ( 0 ) = [ - S 0 C ] ; 2 ( 0 ) = [ - S S C S C ] and 3 ( 0 ) = [ S S C S C ] . ( 84 )
Here, s((/)/)sin((/)/) and C((/)/)cos((/)/),

(109) = .Math. 2 - 2 n .Math. ,
for tetrahedron,

(110) n = 3 .Math. = 6
radian or 30.
The time varying (t), as a function of time about g is obtained using equation (1) and rotation matrices R.sub.g.sup.i and R.sub.r.sup.i are given as,
R.sub.g.sup.i=[g.sub.i .sub.i g.sub.i.sup..sub.i] and R.sub.r.sup.i=R.sub.g.sup.iexp(.sub.ie.sub.2.sup.); i=1,2,3.

(111) From Corollary 2, the tetrahedron configuration of VSCMG in the spacecraft base body ensures the existence of non-singular custom character matrix for all time t0. The skew angle is chosen, such that g.sub.j is neither parallel nor orthogonal to g.sub.k for all three VSCMGs (j, k=1,2,3; jk).

(112) Results for a Simulated Pointing Maneuver

(113) The geometric variational integrator scheme given above and the simulation parameters from the table shown in FIG. 7 are used to obtain numerical results for a simulated pointing maneuver. The initial attitude is chosen to be a 1 radian rotation about the inertial axis [1/3 1/3 0.8/3].sup.T. The full attitude pointing maneuver transfers the initial attitude to a desired final attitude, asymptotically. The control inputs are provided in terms of VSCMG angular rates, i.e. the vector {dot over ()}. This vector of VSCMG rates is obtained using the GVI algorithm given above. The VSCMG angular momentum contribution converges to zero as the gimbals and rotors converge to their prescribed nominal rates, i.e., {dot over ()} converges to {dot over ()}.sub.n in the null space of custom character; this helps in avoiding zero crossing of the gimbal and rotor drive motors. In the first set of simulation results shown in FIG. 3, control schemes based on Assumption (1) 32 0) are applied when (=0) and when 0, and the open loop simulation results are compared. For this maneuver, FIG. 3a compares the time response of the norm of spacecraft total angular velocity for these two cases, and FIG. 3b compares the control torque norms generated by the control law. The importance of this generalized VSCMG model is demonstrated by FIG. 3c; the spacecraft actuated by VSCMG with non-zero rotor offset is not stabilized, as the gimbal and rotor are not spinning in the null space of custom character.sub.0 (note that custom character.sub.0 custom character.sub.=0). As (VS)CMG are mainly used for precise pointing application of the spacecraft, even a small change in the dynamics can lead to a considerable deviation in pointing accuracy. FIG. 3d shows the VSCMG angular momenta with and without rotor offset. From these results, it is inferred that a small misalignment of the rotor CoM with gimbal CoM (=0.005 m) can greatly affect the dynamics leading to failure in achieving the control objectives.

(114) FIGS. 4a and 4b compare the time evolution of each VSCMG's gimbal rates for rotor offsets of =0 and =0.005 m, respectively. The difference in these gimbal rates is given in FIG. 6a. Similarly, VSCMG rotor rates with zero rotor offset (FIG. 5a) and non-zero offset (FIG. 5b) are plotted and the difference in the rotor rates for these two cases is plotted in FIG. 6b. These results confirm the reduction in the gimbal and rotor rates of the VSCMG with non-zero rotor offset to that of the VSCMG with zero rotor offset. Based on the numerical results, one can see that the generalized dynamics model can lead to better control performance when certain simplifying assumption(s) do not hold in practice.

(115) The dynamics model of a spacecraft with a generalized model of one VSCMG with an offset between the rotor center of mass and gimbal center of mass along the gimbal axis is presented. The model is then generalized to a spacecraft with n such VSCMGs. Equations of motion are expressed in terms of angular momentum variables of the spacecraft's attitude motion and the rotational degrees of freedom of the VSCMGs. Thereafter, certain commonly used assumptions are applied to the generalized VSCMG model, which reduces it to the conventional model. Sufficient conditions for non-singular VSCMG steering under some of these assumptions are stated. An attitude pointing control scheme for a spacecraft using only VSCMGs is obtained and the control scheme is compared for VSCMGs with zero and non-zero rotor offset. The overall dynamics is numerically simulated, when there is no gravity or external moment, and when the overall angular momentum of the system is zero. The continuous equations of motion for this system are discretized in the form of a geometric variational integrator, for numerical simulation of the feedback system. The numerical simulation results confirm the stabilizing properties of the VSCMG-based attitude control and show improved pointing control performance when the VSCMG model takes into account an existing rotor offset. Embodiments of the VSCMGs with CoM offsets will have greater tolerance to misalignments and manufacturing imperfections leads to lesser costs and faster development times than current (VS)CMGs. They will be more durable and adaptive; i.e. they will not lead to spacecraft pointing failures due to misalignment, and can also identify and correct for misalignments that may occur in use. They are more efficient, since they require lower power consumption per unit torque produced, in comparison to traditional designs. And they can be scaled from very small sizes (such as cubesats) to very large sizes (such as the International Space Station).

(116) Although the invention has been described in detail with particular reference to the disclosed embodiments, other embodiments can achieve the same results. Variations and modifications of the present invention will be obvious to those skilled in the art and it is intended to cover all such modifications and equivalents. The entire disclosures of all patents and publications cited above are hereby incorporated by reference.