Open access peer-reviewed chapter

Momentum Space Analysis for Mixed Skew Angle Arrays

Written By

Zachary A. Lewis

Submitted: January 7th, 2019 Reviewed: May 21st, 2019 Published: January 15th, 2020

DOI: 10.5772/intechopen.86967

Chapter metrics overview

623 Chapter Downloads

View Full Metrics


This report explores non-redundant constant-speed single-gimballed control moment gyroscope mechanics for spacecraft maneuvers. A 3/4 control moment gyroscope pyramid design was examined. This report focuses on maximum available momentum for mixed skew angle configurations. A method to maximize off-axis momentum is developed.


  • control moment gyroscopes
  • mixed skew angle
  • momentum
  • singularity

1. Introduction

This manuscript describes the principles of control moment gyroscope (CMG) steering and attitude control with a specific focus on mixed CMG skew angles. CMGs are momentum exchange devices commonly used for spacecraft maneuvers. The studied configuration was a 3/4 CMG pyramid scheme with a balance mass configuration as shown in Figure 1. Rotation about the x-axis is denoted as roll, y-axis pitch, and z-axis yaw, respectively.

Figure 1.

CMG orientation schematic.

1.1 Research introduction

This paper explores the maximum available momentum for a mixed skew angle, non-redundant, constant-speed, single-gimballed CMG configuration. Mixed skew angles provide the opportunity to bias CMG momentum in a particular direction. This may enhance maneuverability of a spacecraft and improve performance for various mission sets.

This study assumes a spacecraft has a proper attitude control system that includes some form of singularity avoidance or penetration logic; this is necessary to utilize the full momentum of a CMG in the studied configuration.

1.2 System introduction

A Simulink model was used to develop, test, and simulate a spacecraft attitude control system. The system topology is shown in Figure 2.

Figure 2.

Attitude control system topology.

The attitude control system, shown in Figure 2, begins with a user input attitude maneuver, the system then generates a trajectory for the maneuver, and the trajectory is fed to a controller and actuator to generate desired torque. The dynamics describes the kinematics of the spacecraft motion. For more information on the spacecraft kinematics, see [1]. Sensors and observers are used to determine the state of the spacecraft and the information is fed back to the controllers. This process continues until the spacecraft completes the maneuver.


2. Theory

2.1 Trajectory generation

Given a desired maneuver, trajectory generation is the first phase of attitude control. The trajectory provides a path and input for the controllers. It is unrealistic for a spacecraft to instantly move from one position to the desired end state; therefore, a trajectory must be generated that provides time for the spacecraft to maneuver.

A sine curve can be used as a rule of thumb trajectory. It provides time for the spacecraft to accelerate, reach a maximum rate, and then gradually decelerate to land at the desired endpoint. More advanced trajectory generation techniques can be found in [2].

2.2 Torque generation

CMGs, depicted in Figure 3, are torque devices used to maneuver spacecraft. They operate by rotating a mass to establish angular momentum (h). In order to generate torque, a constant speed, single-gimbaled CMG changes the direction of the angular momentum.

Figure 3.

Simplified schematic of a CMG [3].

Shown in Figure 3 is the angular momentum vector, h, the gimbal axis, g, (used to rotate the CMG and change the direction of the angular momentum), and the torque vector. The h vector is determined by the direction of the spinning mass. g is fixed by gimbal motor placement and is determined by the direction of rotation, θ. The resulting torque vector, T, is found using the right hand rule with g and h.

The Euler’s momentum exchange torque equation is shown in Eq. (1).

T = J ω ̇ + ω X E1

In Eq. (1), J is the system moment of inertia and ω is the system angular velocity. The total system angular momentum, H s , is defined as

H s = J s / c ω s / c + J CMG ω CMG = J s / c ω s / c + h E2

where J s / c and J CMG are the moment of inertia for the spacecraft and CMG, respectively, and h is the CMG angular momentum. Substituting Eq. (2) into Eq. (1) yields

T ext = H s ̇ + ω X H s . E3

Applying the Law of Momentum Conservation, the torque a CMG applies will result in an opposite effect on the spacecraft. The application of this concept is shown in Eq. (4)

u = h ̇ + ω X h E4

where u is the system control torque input.

With the configuration shown in Figure 1, β depicts the CMG skew angle, θ is the rotation of the CMG about the gimbal axis, and h is the CMG angular momentum vector. The h vector, shown in Eq. (4), is determined by projecting each CMG’s angular momentum onto the x, y, and z axes, respectively, as shown in Eq. (5). The derivative, h ̇ , vector is shown in Eqs. (6) and (7).

h = h x h y h z = cos β 1 sin θ 1 cos θ 2 cos β 3 sin θ 3 cos θ 1 cos β 2 sin θ 2 cos θ 3 sin β 1 sin θ 1 sin β 2 sin θ 2 sin β 3 sin θ 3 x ̂ y ̂ z ̂ . E5
h ̇ = d h dt = h θ i θ t = A θ ̇ E6
A = cos β 1 cos θ 1 sin θ 2 cos β 3 cos θ 3 sin θ 1 cos β 2 cos θ 2 sin θ 3 sin β 1 cos θ 1 sin β 2 cos θ 2 sin β 3 cos θ 3 E7

2.3 Controller torque generation

In a real system, there must be some form of commanded torque generation. Controllers take the state as an input and generate the torque command, u. There are two primary forms of controllers, feedforward and feedback.

2.3.1 Feedforward controller

The feedforward controller takes the state as an input and generates a torque command. A physics-based feedforward controller, pioneered by Lorenz, is the ideal form of a controller and is far more accurate than a linearized controller [4, 5, 6]. The feedforward controller for the system analyzed is shown in Eq. (8).

u FF = J ̂ ω d ̇ + ω d X J ̂ ω d E8

By equating coefficients between Eqs. (8) and (1), it is clear that the feedforward controller is based exactly on the dynamics of a rotational system where J ̂ is the best guess of the spacecraft’s moment of inertia and ω d is the desired gimbal rate.

Feedforward control is effective because it is based exactly on the dynamics of the spacecraft. In addition, proper application of the feedforward controller can eliminate phase lag [7]. However, the basic feedforward, as shown in Eq. (8), has no ability to account for imperfections in the maneuver. Various advances in adaptive feedforward control have been developed to advance the ability of a physics-based feedforward controller and can be found in [8, 9, 10, 11, 12, 13].

2.3.2 PID feedback controller

The feedback controller is a method to create a control command based on an error signal between the current and desired state. This proves incredibly useful to correct for imperfections in a maneuver. Imperfections or disturbances can be a result of various things such as an inaccurate estimate of J, vibrations of a non-rigid body, aerodynamic drag, and more. Various advances and approaches for disturbance rejection are discussed in [14, 15, 16, 17].

A PID controller creates a control command based on a linearized dynamic model with proportional, integral, and derivative gains as shown in Eq. (9).

u FB = K p e t + K I 0 t e t dt + K D de t dt E9

where, K p , K I , and K D are the proportional, integral, and derivative gains, respectively, and e is the error signal. The gains are tuned in order to minimize error and create dynamic stability for the system.

There are various tuning methods utilized for PID controllers. Some common methods are iterative/experimental, Zeigler, and Liner Quadratic Regulator (LQR).

A first order approach to tuning is simply to choose gains through iteration. This experimental approach is simply to vary gains until the system performs within the acceptable parameters.

A second approach, Zeigler tuning, was developed empirically over time and can be considered a basic rule-of-thumb approach. Zeigler tuning requires first to determine the ultimate gain that creates stable oscillations. The ultimate gains, along with the oscillation period, are then used to calculate the gains for a PID controller. The equation for calculating Zeigler PID gains is given in Eq. (10).

K p = 0.6 K u K I = K P 0.5 T u K D = 0.125 K p T u E10

LQR tuning is theoretically the optimal tuning method for linearized systems. It utilizes an optimization algorithm such that an engineer can input a linear state-space model and the optimal, minimum-cost, gains will be given [18].

2.3.3 PDI feedback controller

The PDI controller is a variant of the PID controller. David Luenberger developed an approach to avoid differentiating within the controller to reduce error. Rather than differentiating to provide derivative gain as shown in Eq. (9), the observed derivative state is fed to the controller after PI command calculation, the derivative state and gain are then summed after an integrator. The approach induces derivative action while avoiding differentiation within the controller. In addition, the PDI controller utilizes R.D. Lorenz’ approach to eliminate virtual zero references in a cascaded topology. For more information on Luenberger and Lorenz’ PID variations, see [17].

2.4 Actuators

The actuator takes the torque command and converts it into a gimbal rate for the CMGs to apply the desired torque. Rearranging Eq. (6) and substituting Eq. (7) yields

θ ̇ = A 1 h ̇ E11

Therefore, for a given desired torque, h ̇ Eq. (11) can be used to command a rotation rate for all CMGs to provide the desired torque. Advanced in the application of Eq. (11), also known as the inverse steering law, can be found in [19]. In a true actuator circuit the desired gimbal rate is then converted into either currents or voltages based on the gimbal motor specifications.

As shown in Eq. (11), A 1 is an integral component to the commanded torque calculation. However, Eq. (12) shows that A 1 is also the source of numerical singularities. For example, if β 1 = β 2 = β 3 = 90 ° ,

A 1 = s θ 3 c θ 1 s θ 3 + s θ 1 c θ 3 t θ 2 s θ 3 c θ 1 s θ 3 + s θ 1 c θ 3 s θ 3 c θ 1 s θ 3 + s θ 1 c θ 3 1 s θ 2 0 0 s θ 1 c θ 1 s θ 3 + s θ 1 c θ 3 t θ 2 c θ 1 c θ 1 s θ 3 + s θ 1 c θ 3 sin θ 1 c θ 1 s θ 3 + s θ 1 c θ 3 E12

where s, c, and t are sin, cos, and tan, respectively. There are numerous CMG orientations in which the denominator for a given term in [A] may be zero—this results in a numerical singularity.

2.5 Sensors, observers, and filters

Sensors are used to measure the actual state of the spacecraft. Ideally, a spacecraft would have enough sensors to provide full state feedback for the controllers. However, the number of sensors required to provide full state feedback may be cost or space prohibitive. Regardless, sensors are not ideal and induce noise into a system.

As a result, generally a state sensor will be used in conjunction with filters and observers. Filters, such as Lowpass or Kalman filters, are used to remove noise from the sensed state signal. Observers, as duals to the controller, take the state and differentiate to provide full state feedback. A number of space system identification algorithms can be found in [20].

2.6 Singularity generation

There are various definitions of a singularity for a non-redundant CMG system. Physically, singularities are situations in which at least a single CMG torque vector is perpendicular to the commanded torque direction. As a result, the commanded torque cannot be applied and, in general, control systems attempt to calculate and send infinite results to the CMGs and lose control of the spacecraft.

Numerically, singularities occur when

det A = 0 . E13

In general, for the configuration shown in Figure 1,

det A = c β 1 c θ 1 c θ 2 c β 2 s β 3 c θ 3 + s β 2 s θ 3 + s θ 2 s β 1 c θ 1 s θ 3 + s θ 1 s β 3 c θ 3 + c θ 2 c β 3 c θ 3 s θ 1 s β 2 s β 1 c θ 1 c β 2 E14

Eqs. (7), (13), and (14) show that singularities are dependent on both β and θ. For any spacecraft configuration, β is fixed upon CMG installation and singularities become a function of θ alone. Therefore, it is required to clearly define the effect of β on singularities and available CMG momentum.

It is essential to note that singularities are instantaneous positions—this means that an infinitesimal shift in angle will result in a position theoretically capable of producing torque. However, though positions like this are theoretically capable of producing torque, the required commanded θ ̇ could be significantly large. In this case the CMG would not be singular, however the behavior would remain singularity-like.

2.6.1 Singularity penetration

As shown in Eq. (12), CMGs are coupled in all three axes [21]. Consequently, if one CMG is singular, the resulting [A]−1 would technically be singular. However, in many situations, even if one CMG is singular resulting in a singular [A]−1, the other CMGs are capable of providing useable torque.

With this in mind, to effectively maneuver a spacecraft using CMGs, singularities and singularity-like regions near singularities must be characterized and avoided or penetrated. The industry standard is to operate only in totally singular-free regions, however the number of singularities for any CMG system is often large and as a result, the control space for CMG maneuvers is highly restrictive. Without singularity controller logic, for example, a benchmark 54.73° CMG skewed array has a minimum singularity free momentum of 0.15 H (shown in Figure 4) where H is maximum momentum of one CMG [22].

Figure 4.

Singularity free momentum.

One approach for singularity control logic is singularity avoidance as shown in [23]. The newest, state-of-the-art solution for CMG singularities is singularity penetration with unit delay (SPUD). SPUD was invented to expand the CMG operating area and protect the spacecraft from losing control near singularities. SPUD’s basic premise is to recognize when the CMG is approaching a singularity and hold the last useful command until the CMG passes through the singularity [24].

2.7 Maximum CMG momentum

With the assumption that sufficient singularity avoidance or penetration logic is in place, a spacecraft attitude control system has the opportunity to utilize the entirety of a CMG’s momentum.

Figure 5 shows the maximum available CMG momentum for a homogeneous skew angle CMG array. However, there are many possible configurations in which the skew angle for all CMGs may not be able to be equal. There is a lack of characterization of available CMG momentum for mixed skew angle CMG arrays.

Figure 5.

Homogeneous skew angle maximum momentum.


3. Results and discussion

MATLAB code and a Simulink model, based on the CMG fundamentals described, were utilized as tools to analyze the maximum available momentum for mixed skew angle CMG arrays. For the momentum analysis, CMG #1 was held constant while CMG #2 and #3 were iterated from 0° to 90° with a step size of 1°. Then, CMG #1 was stepped 5° and the process repeated until CMG #1 cycled from 0° to 90°.

3.1 Discretization analysis

A discretization analysis was conducted to ensure accurate results were being recorded. A step size analysis for the homogeneous skew angle array was conducted and is shown in Table 1.

Step size (°) Standard deviation Computation time (s)
0.1 0.2541 182.09
0.5 0.2592 39.86
1 0.2652 19.20
2 0.2815 10.10
5 0.3250 4.35

Table 1.

Discretization analysis.

It was clear that as step size decreased, the standard deviation decreased. As the step size approached 0.1°, the standard deviation began to reach asymptotic behavior. However, as the step size approached 0.1°, computational time increased exponentially.

The analysis in Table 1 was conducted iterating one skew angle from 0° to 90°. With the knowledge that the mixed skew angle study would increase the iteration dimensionality from one to two while holding CMG #1 constant, the number of iterations would increase by the power of two. Taking into account computation time, a 1° step size was chosen for the study.

3.2 Maximum singular momentum results

The maximum available momentum for a non-redundant mixed skew array is shown in Figure 6.

Figure 6.

Maximum available momentum.

For each image in Figure 6, the horizontal axis shows β3 from 0° to 90° and the vertical shows β2 from 0° to 90°. The top left image shows β1 at 0°, top right 30°, bottom left 60°, and bottom right 90°. Table 2 shows the significant skew angle combinations and resulting maximum available momentum.

CMG 1-2-3 β angles (°) Maximum momentum (H)
0-0-free 3
0-free-0 3
30-0-free 3
60-0-free 3
90-0-free 3
90-free-90 3
0-90-90 2.449
30-90-60 2.449
60-90-30 2.449
90-90-0 2.449

Table 2.

Significant CMG skew angles and momentum.

Table 2 shows that if β2 is zero, any combination of β1 and β3 will result in the maximum available momentum being 3 H. In addition, when β2 is 90, the complimentary angle between β1 and β3 results in the lowest maximum available momentum for all mixed skew combinations.

3.3 Momentum space rotation

As depicted in Figure 1, CMG #1 and #3 are opposite one another while CMG #2 is offset by 90°. This orientation is critical for momentum space rotation. As shown in Figure 6, when β1 and β3 are 90°, β2 does not affect the maximum available momentum. An investigation of the effect of β2 on the array momentum space was conducted.

It is known from [25] that certain combinations of 0° and 90° mixed skew angles can shift the momentum space for an array without affecting the shape of the singularity surface. Figures 7, 8, 9 show the momentum space and singularities for a 90-0-90 CMG array configuration. It has a donut shape with the maximum available momentum of 1, 3, and 2 H for x, y, and z, respectively.

Figure 7.

CMG skew 1-2-3 of 90-0-90 degrees respectively.

Figure 8.

CMG skew 90-0-90 in the x-z plane.

Figure 9.

CMG skew 90-0-90 in the y-z plane.

Changing β2 to 30° maintains the same singularity surface shape, however, the donut rotates 30° up in the y-z plane as shown in Figure 10.

Figure 10.

CMG skew 90-30-90 in the y-z plane.

With a 90-30-90 configuration, rather than having 3 H available in the y axis, 3 H is available in the axis 30° up from the y-z plane. This momentum space tilt occurs for all values of β2 when β1 and β3 are 90°.

β2 alone can point the direction of maximum available momentum. This behavior is purely a function of geometry. Figure 1 and Eq. (7) show that when β1 and β3 are 90°, CMG #1 and #3 can put their full momentum anywhere in the y-z plane, therefore by changing the skew of CMG #2, the axis of 3 H momentum can shift from the y axis up towards the z axis without affecting the momentum surface shape.

Shifting the angle momentum axis occurs for any combination of skew angles. However, for other mixed skew angles, as shown in Figure 6, the ability to provide a full 3 H is no longer preserved and the singularity surface changed. Physically, as β1 and β3 decrease from 90, they no longer have the ability to provide their full momentum in the y-z plane. As an example, the resulting change in available momentum for a 60-X-30 configuration is shown in Figure 11 and Figure 12.

Figure 11.

CMG skew 60-30-30 singularity surface.

Figure 12.

CMG skew 60-60-30 singularity surface.

As β2 increases from 30° to 60°, the maximum available momentum shifts up from 30° to 60°, but the magnitude of momentum in that axis shrinks.

3.4 Off-axis maneuver recommendation

For spacecraft that depend on off axis rotations, mixed skew angles can provide the benefit of tilted momentum space to maximize the CMGs’ ability to rotate about that axis. A 90-X-90 configuration (where X is the angle of the desired rotation axis) is recommended because it allows the momentum space to tilt without changing shape or sacrificing available momentum. To achieve an off-axis 3 H momentum space, the CMGs must be oriented as shown in Figure 1 such that two CMGs are located on the x axis and one is located on the y axis where the desired axis of rotation is angled in the y-z plane.


4. Conclusion

CMGs are a useful momentum exchange tool to maneuver spacecraft. There are many configurations of mixed skew angle arrays that allow for a maximum 3 H available momentum. If β2 is 0°, any combination of β1 and β3 will allow a full 3 H to be available in a given direction. For a 90-X-90 configuration, β2 can be used to tilt the maximum momentum space in the y-z plane without altering the shape of the momentum space. This configuration could be useful for spacecraft requiring off axis rotations.


  1. 1. Smeresky B, Rizzo A, Sands T. Kinematics in the information age. Mathematics. 2018;6(9):148
  2. 2. Baker K, Cooper M, Heidlauf P, Sands T. Autonomous trajectory generation for deterministic artificial intelligence. Electrical and Electronic Engineering. 2018;8(3):59-68
  3. 3. Schallig SAV, Chu QP, Rhee SW, Kampen EV. Maximum null motion algorithm for single gimbal control moment gyroscopes. Advances in Aerospace Guidance, Navigation and Control. 2017:689-707
  4. 4. Cooper M, Heidlauf P, Sands T. Controlling chaos—Forced van der pol equation. Mathematics. 2017;5(4):70
  5. 5. Sands T, Lorenz R. Physics-based automated control of spacecraft. In: AIAA SPACE; 2009. p. 6625
  6. 6. Sands T, “Physics-based control methods,” chapter in Advancements in Spacecraft Systems and Orbit Determination, London, UK: InTech; 2012, pp. 29-54
  7. 7. Sands T. Elimination of phase lag using feedforward: Phase lag elimination at all frequencies for full state estimation of spacecraft attitude. Physics Journal. 2017;3(1):1-12
  8. 8. Nakatani S, Sands T. Battle-damage tolerant automatic controls. Electrical and Electronic Engineering. 2018;8(1):23
  9. 9. Nakatani S, Sands T. Simulation of spacecraft damage tolerance and adaptive controls. IEEE Aerospace. 2014;1-16:2014
  10. 10. Nakatani S, Sands T. Nonlinear adaptive control: Autonomous damage recovery in space. International Journal of Automation, Control and Intelligent Systems. 2016;2:23-36
  11. 11. Sands T, Kim JJ, Agrawal BN. Spacecraft fine tracking pointing using adaptive control. In: Proceedings of 52th International Astronautical Congress; 2007
  12. 12. Sands T, Kim JJ, Agrawal B. Spacecraft adaptive control evaluation. In: Infotech@ Aerospace; 2012. p. 2476
  13. 13. Sands T, Kim JJ, Agrawal BN. Improved hamiltonian adaptive control of spacecraft. In: 2009 IEEE Aerospace Conference. pp. 1-10
  14. 14. Lobo K, Lang J, Starks A, Sands T. Analysis of deterministic artificial intelligence for inertia modifications and orbital disturbances. International Journal of Control Science and Engineering. 2018;8(3):53-62
  15. 15. Sands T, Bollino K, Kaminer I, Healey A. Autonomous minimum safe distance maintenance from submersed obstacles in ocean currents. Journal of Marine Science and Engineering. 2018;6(3):98
  16. 16. Sands T, Kevin Bollino, “Autonomous underwater vehicle guidance, navigation, and control,” chapter in Autonomous Vehicles (Working Title), London, UK: InTech; 2019
  17. 17. Sands T. Improved magnetic levitation via online disturbance decoupling. Physik Journal. 2015;1:272-280
  18. 18. Trammell L, Microstar Laboratories, Inc. Ziegler-Nichols Tuning Rules for PID [Internet]. Available from: [Accessed: 24 March 2019]
  19. 19. Sands T, Lu D, Chu J, Cheng B. Developments in angular momentum exchange. International Journal of Aerospace Sciences. 2018;6(1):7
  20. 20. Sands T. Space system identification algorithms. Journal of Space Exploration. 2017;6:138
  21. 21. Sands TA, Kim JJ, Agrawal B. Control moment gyroscope singularity reduction via decoupled control. In: IEEE SEC 2009; 2009. pp. 388-391
  22. 22. Sands TA, Kim JJ, Agrawal B. 2h singularity-free momentum generation with non-redundant single gimbaled control moment gyroscopes. In: Proceedings of the 45th IEEE Conference on Decision and Control; 2006. pp. 1551-1556
  23. 23. Agrawal BN, Kim JJ, Sands TA. Method and apparatus for singularity avoidance for control moment gyroscope (CMG) systems without using null motion. US Patent 9,567,112; 2017
  24. 24. Sands T, Kim J, Agrawal B. Singularity penetration with unit delay (SPUD). Mathematics. 2018;6(2):23
  25. 25. Sands T, Kim JJ, Agrawal BN. Nonredundant single-gimbaled control moment gyroscopes. Journal of Guidance, Control, and Dynamics. 2012;35(2):578-587

Written By

Zachary A. Lewis

Submitted: January 7th, 2019 Reviewed: May 21st, 2019 Published: January 15th, 2020