Principles of Spacecraft Control: Concepts and Theory for Practical Applications 3031047796, 9783031047794

The objective of this textbook is to provide the mathematical models and algorithms needed to develop a thorough underst

234 20 4MB

English Pages 201 [202] Year 2022

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Principles of Spacecraft Control: Concepts and Theory for Practical Applications
 3031047796, 9783031047794

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Principles of Spacecraft Control

Walter Fichter • Ramin T. Geshnizjani

Principles of Spacecraft Control Concepts and Theory for Practical Applications

Walter Fichter Institut für Flugmechanik und Flugregelung University of Stuttgart Stuttgart, Germany

Ramin T. Geshnizjani Institut für Flugmechanik und Flugregelung University of Stuttgart Stuttgart, Germany

ISBN 978-3-031-04779-4 ISBN 978-3-031-04780-0 https://doi.org/10.1007/978-3-031-04780-0

(eBook)

© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

Dedicated to Eveline Gottzein.

Preface

The design of spacecraft control systems is, first of all, a system engineering task. This concerns not only the control system itself (sensors, actuators, computers, and software) but also the mission objectives and interfaces to other subsystems. With increasingly demanding mission and system requirements, the interconnection between spacecraft control system, instrument payload, and platform becomes even more distinct. Therefore, a thorough understanding of the functional principles of a spacecraft control system as well as its limitations is required for efficient system engineering. This book is written as a textbook. The objective is to provide the mathematical models and algorithms needed to develop a thorough understanding of all control system functions of a rigid-body spacecraft. Relatively simple but practically applicable algorithms are presented rather than recent advances. We try to avoid detailed and specialized issues that are of less importance for the fundamental understanding, such as detailed environment models. Furthermore, control problems that can be cast in standard formulations and solved with existing methods are not treated here. Instead, we intend to provide an understanding of the principles, put them in an engineering context, and try to give all explanations as concise as possible. Besides conventional three-axis attitude control systems, the following topics are treated in this book: • • •

Control of agile rotation maneuvers using control moment gyros Precise pointing control with error classes for pointing instruments Control systems with accelerometers and free-flying test masses, which provide lowdisturbance or disturbance-free environments

We believe that these topics are of considerable relevance for the design of future spacecraft control systems, especially in the field of science and Earth observation missions. On the other side, the topics of robotic spacecraft and formation flying are excluded here. For control system design, a sound understanding of the underlying spacecraft dynamics is crucial. Therefore, motion models are described in detail, which includes control moment gyros and test masses. vii

viii

Preface

There are several excellent books in the field of attitude determination. Here, first principles only are described in order to provide an overall understanding. Actuation and control algorithms are treated in more detail, yet with a focus on basic principles. This book is intended for graduate students and practicing engineers who are interested in spacecraft control systems. Since functional principles are best described with analytical models and mathematical notation, some understanding in the fields of analytical mechanics, signals and systems, and controls is required as it is usually taught at master’s level. The authors tried to include their personal experience in space flight, comprising many spacecraft and missions in the field of communications and constellations, observation and science, and technology demonstrators. We would like to thank many colleagues from Airbus Defence and Space for insightful discussions, in particular Nico Brandt, Andrey Kornienko (now at ESA-ESTEC), Thomas Ott, Alexander Schleicher, Stefan Winkler, and Tobias Ziegler. Any corrections are welcome via email to [email protected] or [email protected]. Stuttgart, Germany August 2022

Walter Fichter Ramin Geshnizjani

Contents

1

System Engineering Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.1 Objectives and Interfaces of Control Systems . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.2 Functional Architecture and Environment . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.2.1 Overview and Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.2.2 External Disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.2.3 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.2.4 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.3 Design Process.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.4 System Design Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.4.1 Performance.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.4.2 Actuator Sizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.4.3 Processing and Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.4.4 Redundancy .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.5 Budgets and Specifications.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.5.1 Key Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 1.5.2 Specific Performance Parameters . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

1 1 5 5 6 10 14 16 17 17 19 21 21 22 22 23 27

2

Satellite Motion Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.1 Rotational Kinematics .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.1.1 Attitude Parametrization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.1.2 Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.1.3 Differential Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.1.4 Two-Axis Inertial Pointing . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.2 Single-Body Spacecraft and Gyrostat . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.2.1 Dynamics of Rotation and Translation . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.2.2 Wheel Dynamics.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.2.3 Gravitational Force and Torque . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.2.4 Multiple Wheels and Summary . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

29 30 30 32 35 37 38 38 42 43 45

ix

x

Contents

2.3

Single-Body Spacecraft with Control Moment Gyros . . . . . . . .. . . . . . . . . . . . . . . 2.3.1 Rotational Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.3.2 Flywheel and Gimbal Dynamics .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.3.3 Summary and CMG Array Dynamics . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.3.4 Singularities .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.4 Multi-Body Spacecraft with Test Mass . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.4.1 Equations of Motion .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 2.4.2 Discussion.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

46 47 53 55 56 62 63 67 67

3

Rotational State Determination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.1 Attitude Determination .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.1.1 Concepts and the Two Unit Vector Case. . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.1.2 Three or More Unit Vector Measurements . . . . . . . . . . .. . . . . . . . . . . . . . . 3.2 Angular Rate Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.3 Attitude Observation and Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.3.1 Concept of a Kinematic Model . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.3.2 Yaw Observation During Earth Pointing . . . . . . . . . . . . .. . . . . . . . . . . . . . . 3.3.3 Model-Based Filtering.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

69 69 69 77 78 81 81 82 83 88

4

Actuator Commanding .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.1 Reaction Wheel Actuation and Control . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.1.1 Distribution to Individual Wheels. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.1.2 Wheel Momentum Control .. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.2 Control Moment Gyro Actuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.2.1 CMG Steering Laws .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.2.2 Gimbal Control Loop .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.3 Thruster Selection and Actuation .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.3.1 Torque with Four Thrusters . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.3.2 Force and Torque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.3.3 Modulation of Single Thrusters .. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 4.4 Magnetic Torquer Actuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

89 89 91 92 93 94 98 101 101 104 109 111 112

5

Attitude and Momentum Control .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.1 Architectures and Concepts .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.2 Nonlinear Attitude and Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.2.1 Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.2.2 Two-Axis Attitude Acquisition . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.2.3 Three-Axis Attitude Control . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

115 115 119 120 126 128

Contents

xi

5.3

Angular Momentum Control .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.3.1 Motivation and Single Axis Example .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.3.2 Wheel Body Momentum and Nullspace Momentum . . . . . . . . . . . . . . . 5.3.3 Options for Momentum Desaturation.. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.3.4 Wheel Body Momentum Control . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.3.5 Nullspace Momentum Control .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.4 Linear Attitude Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.4.1 Earth Pointing with Momentum Bias . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 5.4.2 Precision Pointing Control . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

136 136 138 139 140 142 143 143 148 153

6

Accelerometers and Drag-Free Control . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.1 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.2 Drag Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.3 Drag-Free Control of a Cubic Test Mass . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.3.1 Objective and Principle .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.3.2 Control Loop Structure .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.3.3 Closed Loop and Controller Design . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 6.4 Notes on Spherical Test Mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

155 155 159 160 160 161 166 170 170

7

Closing Remarks . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 173

A Coordinate Systems .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . A.1 Inertial Coordinate System .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . A.2 Orbit Coordinate System .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . A.3 Reference Attitude Coordinate System .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . A.4 Spacecraft Body Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

175 175 175 175 176

B Useful Tools of Applied Mathematics .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . B.1 Vector Notation and Cross Product Equations . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . B.2 Singular Value Decomposition.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . B.3 Concepts of Lyapunov Theory .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . B.3.1 Time-Invariant Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . B.3.2 Time-Varying Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . B.4 Floquet Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . References . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .

179 179 180 182 182 184 185 187

C Gravity-Gradient Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 189 Index . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 191

Acronyms

AKE APE CMG DCM ESA GEO GNSS HEO ISS KDE LEO LVLH MED MEO MIMO MKE MPE PD PDE PID RMS RKE RPE RW SISO STR SVD WM WMS WV

Absolute knowledge error Absolute performance error Control moment gyro Direction cosine matrix European Space Agency Geostationary Earth orbit Global navigation satellite system Highly eccentric orbit International Space Station Knowledge drift error Low Earth orbit Local-vertical local-horizontal Momentum exchange device Medium Earth orbit Multiple input multiple output Mean knowledge error Mean performance error Proportional-derivative Performance drift error Proportional-integral-derivative Root-mean-square Relative knowledge error Relative performance error Reaction wheel Single-input single-output Star tracker Singular value decomposition Windowed mean Windowed mean stability Windowed variance xiii

List of Symbols

Latin Symbols A Configuration matrix (reaction wheel or thruster assembly) A System matrix a Unit vector B Basis b Magnetic flux density b Bias Magnitude of magnetic flux density B0 C CMG array Jacobian Output matrix (SISO) c d Disturbance e Earth direction e Eigenaxis e Error f Force F Filter g Gyroscope sensitive axis g Vector of dissipative, gyric, and restoring forces G Plant h Angular momentum I Identity matrix i Inclination J Inertia matrix J Moment of inertia k Vector of generalized applied forces K Controller k Gain/Factor L Angular momentum l Observer gain xv

xvi

l M m m m n N n o P p q q q4 R r r r r S s S S s T t T T t t U u u u u V v v W w w x

List of Symbols

Torque Matrix of measured directions Magnetic moment Measured direction Mass Normal vector Number Noise CMG output torque axis Singularity projection matrix Linear momentum Quaternion Quaternion, vector part Quaternion, scalar part Matrix of reference directions Position Reference direction Rank Reference value Singularity definition matrix Sun direction Power spectral density Sensitivity function Laplace variable Direction cosine matrix Thrust Complementary sensitivity function Time constant Thrust Time Matrix of left singular vectors Left singular vector RW spin axis Unit vector Control input Matrix of right singular vectors Right singular vector Velocity Weighting matrix Noise Weight State vector

List of Symbols

y z

Output/Control variable Position

Greek Symbols α Angle β CMG array skew angle γ CMG gimbal axis δ CMG gimbal angle ε Small number ,  Sign (±1) θ Pitch angle μ Gravitational parameter ν Noise ρ Position Σ Matrix of singular values σ Singular value 2 Variance σ ς CMG flywheel spin axis φ Roll angle ϕ Attitude vector ψ Yaw angle ω Frequency ω, ω Angular rate Miscellaneous xˆ Estimate of x x Mean value of x x˜ Measurement of x ∗ x Derivative of x w.r.t. time in inertial reference frame x˙ Derivative of x w.r.t. time Moore-Penrose pseudoinverse (·)† [v×] Cross-product matrix of a vector v E{·} Expectation F{·} Fourier transform P Polynomial ♣,  Arbitrary vector ♥ Scalar constant

xvii

1

System Engineering Basics

Abstract

The design of a spacecraft control system is first of all a system engineering task. In the first chapter, we describe the most important system engineering aspects, such as mission objectives, interfaces and functional architecture of a control system, and important system design rules. In this context, we focus on attitude control.

1.1

Objectives and Interfaces of Control Systems

The objective of a spacecraft control system is to provide the motion states of the spacecraft that are needed to accomplish all mission tasks. The major functional and performance requirements of a spacecraft control system are therefore derived from mission needs and spacecraft system constraints. Both of these depend on the payload and its operations. Concerning the nominal motion of a spacecraft, we can distinguish the following cases: The nominal orbit (translational motion) of a spacecraft is usually defined by the mission objective and is a result of the mission analysis. Earth orbits can be distinguished according to their altitudes: Low Earth orbits (LEO) are usually circular and have typical altitudes between 200 km and 2000 km. Geostationary orbits (GEO) are circular, equatorial orbits with an altitude of approximately 36 000 km. Medium Earth orbits (MEO) are at altitudes of about 20 000 km, the most prominent examples being orbits of navigation satellites. Finally, the altitude of highly eccentric orbit1 (HEO) typically varies between 400 km and 40 000 km and HEOs are usually highly inclined. The different orbit types

1 Some sources use the term “highly elliptical orbits”, but we choose to emphasize their high

eccentricity as the defining characteristic of HEOs. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_1

1

2

1 System Engineering Basics

Fig. 1.1 Typical Earth orbits

Fig. 1.2 Examples of reorientation maneuvers

are depicted in Fig. 1.1. The task of an orbit control system is to properly establish and maintain the reference orbit. For a single spacecraft, the design of such a control system usually has to consider three degrees of freedom of translation. While orbit control is not covered by this book, it has to be noted that orbits have a significant impact on attitude control tasks. The attitude control tasks (angular motion) of a spacecraft can be subdivided into attitude maneuvers and pointing control. Attitude maneuvers aim at acquiring a new operational state, e.g., damping of the angular rates after separation from the launch vehicle or large angle slews that are required to obtain proper thermal and power conditions or to reorient the spacecraft to acquire a new observation target. An example is shown in Fig. 1.2 (left), where the spacecraft is reoriented to a Sun pointing attitude with a rotational rate around the sunline. Reorientation maneuvers for the acquisition of a certain inertial attitude for the firing of an apogee engine also belong to this group, see Fig. 1.2 (right). Pointing control can be further subdivided according to the definition of the attitude reference frame: Reference frames with zero angular rate, constant angular rate, or timevarying angular rate. A very common example of a constant reference angular rate is the Earth pointing reference frame in a circular orbit. Reference frames with zero angular rate correspond to inertial pointing, which is required for many science missions either in

1.1 Objectives and Interfaces of Control Systems

3

Fig. 1.3 Pointing tasks with zero, constant, and variable reference rate

Earth orbits or in interplanetary orbits. An example for a time-varying reference rate is the tracking of a geolocation. These types of reference rates are depicted in Fig. 1.3. For some missions, the combined linear and rotational motion has to be considered. Examples are linear disturbance rejection with accelerometers, the control of free-flying test masses within a spacecraft, or rendezvous maneuvers. In such cases, the nominal motion is described by six degrees of freedom. Spacecraft control systems are often relatively complex compared to other subsystems in both design and operations. The reason for this is primarily the large number of interfaces to other subsystems of a spacecraft. These interfaces very often map into constraints for the control system design. In the following, we will briefly discuss some of the major subsystem interfaces and their impact on design constraints for the spacecraft control system. Mission Mission needs result in a number of fundamental requirements for the control system. These are, among others, the nominal orbit (and, thus, the reference attitude profile), lifetime, reliability, and the degree of autonomy. Thermal Subsystem A proper thermal conditioning of the spacecraft may require special maneuvers or maneuvers under time constraints. Furthermore, sensitive payloads may need to be protected against direct Sun exposure. Communications Directional communication antennas need to be pointed toward ground stations during certain phases of the orbit. This requires dedicated attitude maneuvers and reference attitudes. Propulsion Characteristics of the propulsion system such as nominal thrust, pulsed or continuous operations, delay, minimum impulse bit, and noise levels are all interconnected with the control system design. Moreover, propellant mass and propellant sloshing affect the dynamic behavior of the spacecraft and thus the closed-loop control system.

4

1 System Engineering Basics

B

precision pointing RW

spacecraft with free-falling test mass

B M

pointing and disturbancefree control

B CMG

agile rotation maneuvers

Fig. 1.4 Precision pointing, agile slew maneuver, and free-falling test mass

Structures The spacecraft configuration and structure determine the disturbance forces and torques as well as structural modes, which affect the dynamic behavior of a spacecraft. Moreover, the spacecraft configuration imposes constraints on the accommodation of actuators and sensors. Power The required power for the control system must be in line with the overall power budget. The battery capacity may impose time constraints for operations without proper Sun orientation. Data Handling The data handling subsystem defines the hardware and software framework for the control system including interfaces, operating system, tasking, and available memory as well as frequency, size, and structure of telemetry and telecommands. In the following, we consider a conventional attitude and orbit control system, where the two tasks, i.e., attitude control and orbit control, are decoupled. We focus on the attitude control part and extend this in three directions, which are depicted in Fig. 1.4. The first direction is very precise pointing, which takes into account specific pointing requirements in terms of standardized pointing error classes. The second direction is the control of agile large-angle rotation maneuvers as they become increasingly common for Earth observation missions. The third direction is the precise control of a spacecraft that contains an accelerometer or a free-falling test mass. This is used to provide low disturbance force levels or, in other words, predictable orbits that are determined by gravitation only. Precise pointing, agile attitude reorientation, and disturbance free environments are important technological necessities for science and Earth observation missions.

1.2 Functional Architecture and Environment

5

Fig. 1.5 Architecture block diagram of a guidance, navigation, and control system

1.2

Functional Architecture and Environment

In this section, we will look at all components of a spacecraft control system from an engineering point of view, without details concerning algorithms. The starting point is the block diagram of a spacecraft control system shown in Fig. 1.5.

1.2.1

Overview and Terminology

A control system consists of a ground link, sensors, actuators, and one or several onboard computers that host software for guidance, navigation, and control (see Fig. 1.5). In the aerospace literature, the terms guidance, navigation, and control have often different meanings. In this text, guidance refers to the computation of reference orbits or trajectories as well as reference attitudes for attitude control.2 Guidance algorithms are very much application specific and often straight forward to calculate and implement. Therefore, guidance algorithms are not detailed any further. Navigation stands here for the computation or estimation of the motion state for, in general, both the angular and translational motion. It also includes the determination of time. Navigation algorithms get sensor data as inputs, which in some cases are redundant, in other cases insufficient for the instantaneous solution of the navigation problem. Therefore, navigation algorithms have to cope with over- and under-determined problems. The latter is usually approached with filtering techniques. Control summarizes all algorithms that are needed to control the spacecraft motion. Usually, control laws are designed such that they provide actuation forces and torques 2 This means that guidance in this context has a different meaning than in aeronautical applications.

6

1 System Engineering Basics

along the spacecraft axes. These commands are then distributed to commands for the individual actuators. In practice, very often redundant actuators are available, which means that the distribution algorithm has to solve an under-determined problem.

1.2.2

External Disturbances

The computation of nominal force and torque profiles and perturbations thereof is one of the major prerequisites for the design process of a control system. It determines the sizing of actuators and the specification of closed loop bandwidths. The forces and torques that are acting on a spacecraft depend primarily on the orbit (altitude), the geometrical shape, and the surface and magnetic properties of the spacecraft. In the following, we discuss some fundamental characteristics of the main forces and torques to which a spacecraft in an Earth orbit is exposed. Solar Pressure Solar pressure is a pressure caused by the interaction of the spacecraft’s surfaces with sunlight (absorption, reflection, etc.). Near Earth, the solar constant has a value of P ≈ 1350 W/m2 . As modeled in [5], the solar pressure forces on an infinitesimal surface element dA caused by absorption, specular reflection, and diffuse reflection are: P s, c P = −2 Crs cos2 α dA n , c   P 2 n+s , = −Crd cos α dA c 3

df S,ab = −Cab cos α dA df S,rs df S,rd

where c is the speed of light, n is the normal vector of the surface, s is the vector from the spacecraft to the Sun, and α =  (n, s) is the incidence angle of the sunlight. The coefficients of absorption, specular reflection, and diffuse reflection Cab , Crs , and Crd depend heavily on the surface properties and are very hard to obtain precisely. The total solar pressure force df S is the sum of the three components above and depends on the attitude of the spacecraft via α. The solar pressure torque is simply the cross product between the vector from the center of mass to the surface element and the solar force. In practice, the total force and torque must be computed numerically by summing up all surface areas of a spacecraft. Solar force and torque effects are independent of the altitude. At low altitudes, they are usually negligible compared to other effects. At higher altitudes such as in the geostationary orbit, solar pressure is the only remaining effect and thus it usually determines the torque budget.

1.2 Functional Architecture and Environment

7

Atmosphere In very low Earth orbits, there are non-negligible forces and torques due to the remaining atmosphere. A spacecraft surface element dA with normal vector n encounters an atmospheric force 1 df a = −  v a v  a n CD dA , 2 where v a is the flight velocity of the spacecraft relative to the surrounding atmosphere,  is the density of the atmosphere, and CD is the drag coefficient. Assuming the atmosphere rotates with the Earth, v a = v − ωE × r with the inertial position and velocity r and v, respectively, and the Earth’s rotation rate ωE . The force acts along the inflow direction and is proportional to the dynamic pressure, just as in case of an aircraft. The summation (integration) over the whole spacecraft yields the total atmospheric drag force. A typical value for the drag coefficient is CD = 2. Aerodynamic torques result from forces and the lever arm between center of area and center of mass. In practice, aerodynamics effects are significant or even driving in orbits below 250 km. At altitudes of 600 km and above, atmospheric effects can be safely neglected.

Gravity Gradient Gravity is the major force acting on a spacecraft. In an Earth orbit, the gravitational force depends on the distance between the Earth’s center of mass and the spacecraft. For a differential mass element dm, the force is df g = −μ

rP dm , r P 3

where μ ≈ 3.986 × 1014 m3 /s2 is the Earth’s gravitational parameter and r P is the position vector from the Earth’s center of mass to dm. The total gravity force can be obtained by integrating all mass elements. As we will see in Sect. 2.2.3, this can be computed easily when the spacecraft fixed reference point is chosen to be the center of mass. In this case, f g = −μ

rP m r P 3

The gravity gradient also has an effect on the torque applied to the spacecraft. We can see this through illustration of a simple example shown in Fig. 1.6. In this case, the spacecraft consists of two point masses that are not perfectly aligned with the nadir direction. The gravitational force on the lower mass (nearer to the Earth) is larger than that of the upper mass (further away from the Earth). This effect creates a torque that

8

1 System Engineering Basics

Fig. 1.6 Gravity gradient torque

counteracts the deviation. For a mass element dm, the torque with respect to the center of mass is given by dl g = −μ

r × rP dm , z3

see also Fig. 1.6. With some calculation, which we will do in Sect. 2.2.3, the total torque for a rigid body spacecraft can be expressed as lg = 3

μ r P 3

e P × J eP ,

where eP is the nadir pointing unit vector and J is the inertia matrix. The value μ/ r P 3 corresponds to the squared orbit rate ω02 . We can see that also the gravity gradient torque decreases with third order of the distance from the Earth’s center. Therefore, it is significant in lower orbits. For spacecraft with equal moments of inertia, there is no gravity gradient torque because of symmetry. A special case thereof is a spherical spacecraft.

Geomagnetic Field The magnetic property of a spacecraft can be described as a magnetic dipole that has a tendency to align with the Earth’s magnetic field. With a spacecraft magnetic moment m (typically given in A m2 ) and the flux density b(t) of the Earth’s magnetic field (typically given in Tesla [T]), the magnetic torque is given by l m (t) = m × b(t)

1.2 Functional Architecture and Environment

9

Fig. 1.7 Schematic of a simplified geomagnetic field

For the calculation of the torque, the magnetic moment and the Earth’s magnetic field must be expressed in the same coordinate system, which is usually the reference attitude system. Under the assumption of zero attitude error and a body-fixed constant magnetic moment, m will be a constant. The Earth’s magnetic flux density b(t) depends on the orbit and is a function of time, which can be seen in the simplified Fig. 1.7. In order to get an estimate of the magnitude l m  of the magnetic disturbance torque, a very simple dipole model of the Earth’s magnetic field can be considered. For low Earth orbits, the magnetic flux density can be expressed in the orbit coordinate system as ⎛

⎞ − sin im (t) cos η(t) ⎜ ⎟ b = B0 ⎝ cos im (t) ⎠, −2 sin im (t) sin η(t) where im is the orbit inclination with respect to the geomagnetic equatorial plane, η(t) is the orbit angle, counted from the ascending node with respect to the geomagnetic equatorial plane, and B0 represents the magnitude of the magnetic flux density. If the magnetic dipole is assumed to be aligned with the Earth’s rotation axis, as depicted in Fig. 1.7, im can be replaced by the constant orbit inclination i and the orbit angle is counted from the ascending node. In any case,

l m  = m b

sin 

(m, b) = m B0

1 + 3 sin2 im (t) sin2 η(t) ≤ 2 B0 m

The value of B0 is proportional to 1/r 3 and for LEO missions, B0 is in the order of 10−5 T. There is practically no force effect due to the Earth’s magnetic field.

10

1.2.3

1 System Engineering Basics

Sensors

There are a number of common sensors that are usually used for spacecraft control and we will describe their functional principles in the following. Associated algorithms that provide axis-related information from sensor measurements are described in Chap. 3. Gyroscopes Gyroscopes are used to measure the angular rate of a spacecraft. There are different principles: Traditional gyroscopes are mechanical rotors that measure precession and thus angular rates. State-of-the-art gyroscopes are usually based on laser beams that are travelling in opposite directions and are then detected using interferometry. Details of optical gyroscopes are omitted here. All gyroscopes have in common that they are inertial instruments and therefore provide measurements of the absolute angular rate, i.e., the rate with respect to the inertial system. This rate is expressed in sensor coordinates. With a time-constant mounting of a gyroscope within the spacecraft, the absolute rate can be simply transformed and expressed in the spacecraft body fixed frame as ω = (ωx , ωy , ωz ) , where ωi is the rate around the axis i of the spacecraft body frame. In practice, gyroscope measurements are perturbed. Appropriate error models include scale factors, biases, and noise. Moreover, gyroscopes usually have a rate limitation and rates higher than that limit are not provided any more.

Earth Sensors An Earth sensor provides a measurement that represents the direction towards the Earth, i.e., the nadir direction, as seen from the sensor. This direction can be expressed as a unit vector, usually denoted as e = (ex , ey , ez ) with e = 1. The vector e is originally obtained in a sensor fixed system, but can be transformed to the spacecraft body frame. Note that the length of the unit vector is one by definition and therefore, the information content of the vector e is that of two scalar values. This becomes obvious when considering small attitude angles, which is depicted in Fig. 1.8. For small angles, e = (−θ , φ , 1) . An Earth sensor will detect any motion of the spacecraft that leads to a rotation perpendicular to the nadir direction, i.e., along two degrees of freedom. Rotations around nadir cannot be detected. This reflects the mathematical constraint of the unit length of e. Note that also translational motions may lead to a rotation of the nadir direction as seen from an Earth sensor, which could also be used for orbit determination. In practice, however, this is hardly implemented. There are several technological principles for the detection of an Earth vector e. All of them have in common that they detect the Earth’s horizon in the infrared regime. In order to derive an Earth vector, the horizon has to be detected at two locations at least. Some Earth sensors have more than two horizon detectors for internal redundancy, as illustrated in Fig. 1.8.

1.2 Functional Architecture and Environment

11

Fig. 1.8 Earth sensor measurement

Because of the detection principle, the field of view of Earth sensors is usually very narrow. This must be taken into account from a system engineering point of view, because it requires dedicated acquisition maneuvers to get the Earth into the sensor field of view.

Sun Sensors A Sun sensor measures the direction towards the Sun, which can be expressed as a unit vector of the form s = (sx , sy , sz ) with s = 1. This vector is originally measured in sensor coordinates and then usually transformed into and expressed in the spacecraft body frame. The measurement output is quite similar to that of an Earth sensor, i.e., changes of the vector direction can be detected, motions around the sunline are not detectable. In contrast to an Earth sensor, changes of the Sun vector direction s are caused by the spacecraft angular motion only, i.e., Sun sensor measurements are insensitive to the orbit motion because the distance to the Sun is very large. The technological principles of Sun sensors are completely different to those of Earth sensors. Precise Sun sensors are often based on two orthogonal slits and a detector as shown in Fig. 1.9. The two detected angles can be converted to the unit vector s. Other, less accurate sensors use solar cells and the dependence of the output power on the incidence angle. The field of view of a single Sun sensor may be as large as about 60°. When several sensor heads are placed on the spacecraft, full or almost full spherical coverage can be achieved. Some Sun sensor detectors provide extremely precise measurements. However, they are usually mounted on the outer surface of the spacecraft structure. Thermal distortions of the spacecraft structure will affect the transformation matrix between the sensor head and the spacecraft body frame, which leads to errors in the sensor system that may be larger than the error of a single detector.

12

1 System Engineering Basics

Fig. 1.9 Sun sensor measurement

Fig. 1.10 Principle of star sensor measurement

Star Sensors Star sensors are effectively cameras that provide an image of a star pattern, see Fig. 1.10. Algorithms that are part of the star sensor system first identify the star pattern by comparison of angular distances with a given star catalog. Once the individual star detections can be correlated with actual stars, each star measurement can be considered as a unit vector direction. At this point, a star sensor can be regarded in a very similar way as Earth and Sun sensors, but with multiple (tens or hundreds of) unit vector measurements. These unit vector measurements can be used to calculate the attitude with respect to the inertial frame, because the stars are fixed in the inertial system. This will be discussed in Sect. 3.1. In practice, all of these computations are performed internally in the star sensor, which then provides a full three-axis attitude measurement. Since the stars are considered to be infinitely distant, a star sensor measurement is only sensitive to the rotation of the spacecraft, but not to its translation. By detecting three or more stars, a three-axis attitude can be calculated independent of the field of view of a star sensor. However, two or more star sensor heads are usually mounted on the spacecraft in order to take into account star sensor blinding or situations where a sensor head is pointing towards the Earth.

1.2 Functional Architecture and Environment

13

Magnetometer A magnetometer measures the magnetic field at its current mounting position. Whenever the magnetic field of the spacecraft itself is negligible, the magnetic field measured in an Earth orbit represents the Earth’s magnetic field. For attitude determination purposes, a magnetometer measurement in three directions is usually reduced to a directional measurement through normalization, i.e., the effective output then consists of a unit vector as in the case of Sun and Earth vector measurements. This geomagnetic field direction measurement is then compared to a model of the geomagnetic field (details are given in Sect. 3.1.1). It is often the model that limits the accuracy of attitude calculations, not the magnetic measurement itself. From a system engineering point of view, it is important to remember that the spacecraft itself has a magnetic field which may disturb the measurements. There are several approaches to compensate for this: The magnetometer can be calibrated by accurately taking into account constant disturbances. Alternatively, it may be possible to guarantee by design and analysis that the spacecraft’s disturbance field is negligible. As both of these options require significant effort, another approach is to mount the magnetometer on a boom in order to place it far away from potential magnetic disturbances. However, this approach is usually practical only with mechanisms, which add complexity and effort to the overall design. The attitude computation using magnetometer measurements require a model of the geomagnetic field, which has to be evaluated at the current position of the spacecraft. Therefore, the use of a magnetometer typically requires position knowledge, hence a position sensor such as a global navigation satellite system (GNSS) receiver.

GNSS Receiver A GNSS receiver uses radio frequency signals sent from navigation satellites to determine the position and velocity of the receiver antenna. The outputs are provided in an inertial as well as in an Earth-centered, Earth-fixed coordinate frame (see Sect. A.3). In order to track a sufficiently large number of navigation satellites or signals, the receiver antenna must be properly oriented. In fact, in a low Earth orbit it must be “looking upwards”. Therefore, the availability of position and velocity information depends on the (nominal) attitude of the spacecraft. From a practical point of view, we can assume that the antenna is mounted such that there is sufficient visibility of navigation signals during normal operations. As a result, we can assume that continuous orbit information is available. In many GNSS receivers, pseudorange measurements (signal travel time) and Doppler measurements are combined with a navigation filter that is usually based on an orbit model. For more detailed explanations on signal properties and position and velocity determination, a large number of textbooks are available.

14

1 System Engineering Basics

Fig. 1.11 One reaction wheel in a spacecraft

spin axis u motor torque

reaction torque

1.2.4

Actuators

Reaction Wheels A reaction wheel is a spinning rotor which can be accelerated in both directions and thus change the magnitude of the wheel momentum. This change corresponds to an internal torque to the spacecraft, see Fig. 1.11. Reaction wheels can be operated in a continuous manner. The torque generated by a reaction wheel, corresponding to a momentum magnitude change, is relatively small, typically 0.1 Nm or less. In order to establish an internally redundant system, very often more than three reaction wheels are implemented. Let ui denote a unit vector that represents the spin direction of the i-th reaction wheel. The main output torque on the spacecraft that can be generated with N wheels is then h˙ RW = [u1 . . . uN ] h˙ w , where h˙ w is the N-dimensional vector of changes of the wheel momentum (derivatives). Very often, four reaction wheel are used, hence N = 4.

Control Moment Gyros Control moment gyros (CMGs) are spinning wheels that are gimbaled as illustrated in Fig. 1.12. Changing the gimbal angles through drives leads to a change of the angular momentum direction, which also corresponds to a torque. This allows to create much higher torques than with reaction wheels. However, the mechanical complexity of a control moment gyro is very high and its actuation strategy is more difficult due to the occurrence of singularities.

1.2 Functional Architecture and Environment

15

Fig. 1.12 Spacecraft with control moment gyro

reaction torque spin axis

motor torque gimbal axis

The main output torque of an N-CMG array on the spacecraft is given by h˙ CMG = γ 1 × h1

...

γ N × hN δ˙ ,

where γ k and hk denote the k-th CMG’s gimbal axis and flywheel angular momentum, respectively, and δ˙ is a column matrix containing the gimbal rates. As with reaction wheels, at least four CMGs are used for three-axis attitude control.

Propulsion Thrusters produce forces by expelling propellant. There are many different technological principles, e.g., based on chemical reactions (hot gas thrusters) or simply compression (cold gas thrusters) or by electrical acceleration (electric propulsion). Most thrusters are operated in a pulsed mode, i.e., they can provide either full or zero thrust. Some exceptions are continuous cold gas thrusters or electrical thrusters. Continuous thrusters may also be used for micro-Newton applications. Each thruster generates a torque that depends on its thrust vector and the configuration of the thruster with respect to the spacecraft fixed reference point, which is usually the center of mass, see Fig. 1.13. With N thrusters mounted at positions r i with respect to the spacecraft center of mass and with thrust unit vector directions ui , the total torque in the spacecraft frame is given by l thr = [r 1 × u1 . . . r N × uN ] t , where t is an N-dimensional vector of thrust magnitudes. The force is f thr = [u1 . . . uN ] t

16

1 System Engineering Basics

Fig. 1.13 One thruster in a spacecraft

thrust direction thruster thruster position

center of mass reference point

Clearly, all thrusters generate positive forces only, which imposes constraints to the selection of thrusters for actuation. Details of thruster actuation algorithms are given in Sect. 4.3.

Magnetic Torquers The effect that creates magnetic disturbance torques can be used for actuation purposes. Magnetic torquers are simply coils which are used to create a magnetic moment by applying a current. The interaction between this magnetic moment m(t) and the Earth’s magnetic field b(t) results in a torque l m (t) = −b(t) × m(t)

(1.1)

As in case of magnetic disturbances torques, actuation torques can only be generated perpendicular to the geomagnetic field, i.e., around two spacecraft axes at a given time. This is the main limitation of magnetic torquers. Moreover, the magnetic momentum (current) of each torquer is limited. Usually three torquers are installed in an orthogonal configuration. Magnetic torquers are simple and inexpensive devices. Using the time-varying property of the geomagnetic field during one orbit revolution, torques around three axes can be realized over the course of one orbit. However, this does usually not allow for precise attitude control.

1.3

Design Process

The design of a spacecraft control system follows a development process. A simplified sequence of the development steps related to the on-board control system consists of the following steps.

1.4 System Design Rules

17

1. Define requirements. Functional and performance requirements are defined, among other requirements, and design constraints are formulated. 2. Quantify disturbances. External disturbance force and torque profiles have to be calculated as well as internal disturbances, e.g., from the spacecraft magnetic field or moving appendages such as solar arrays or antennas. 3. Define architecture. This comprises the definition of the computational architecture, the definition of sensor and actuator configuration, and the functional architecture, i.e., the definition of operational modes and the degree of autonomy. 4. Develop algorithms. The on-board algorithms are defined, analyzed in the closed loop system, implemented, and tested in appropriate test benches (simulation, hardware-inthe-loop). None of these steps is usually executed only once, but there are iterations between all of these steps. Note that the confidence in the design is obtained in the final step. Therefore, good knowledge of the functions, expected performance, and limitations of algorithms are crucial for efficient system engineering in the first steps of this list.3 This becomes even more important for missions or systems where the control system cannot be separated anymore from the payload in terms of function and performance.

1.4

System Design Rules

1.4.1

Performance

The design of a control system is not just controller design. In this subsection, we look at the question of how control performance is specified, which parameters of a control system are affected, and how we can consider this in the system design. To this end, we first recall some basic facts from control theory and consider a single axis control loop with simple linear plant dynamics G, which represent, for instance, the single axis angular motion of a spacecraft. A standard control loop as it is known from basic control theory is shown in Fig. 1.14. There are two input disturbances to this control loop: Torque or force disturbances are denoted by di and are acting at the input of the plant, which can be considered alternatively as an output disturbance do = G di .4 The measurement noise n is modeled

3 This statement is in contradiction with the wide-spread opinion that for a system engineer it is

sufficient to be a generalist without knowing all the details. 4 Both the plant G and the controller K are dynamical systems. The notation employed in this section implies that “output = system × input”. For linear systems, this can be justified by expressing the systems in the frequency domain, in which case the relationship between input and output is in fact an algebraic multiplication. More details can be found in any introductory textbook on control engineering.

18

1 System Engineering Basics

o

i



Controller K

Spacecraft Dynamics G

Fig. 1.14 Standard single variable control loop

as additive disturbances to the control variable y. Furthermore, we assume a simple linear controller K, e.g., a proportional-integral-derivative (PID)-type controller. r is the reference value for the control variable. The closed loop behavior of such a control loop can be described by y = S do + T r − T n , where S = 1/(1 + G K) and T = G K/(1 + G K) are the closed loop sensitivity and complementary sensitivity functions, respectively. The sensitivity function S describes the influence of disturbances on the control variable, whereas the complementary sensitivity function T defines the tracking of the reference signal r. On the other hand, the measurement noise is also transferred via T . Note that S + T = 1 for all frequencies. The bandwidth of the closed loop is defined as the frequency until which feedback control is effective [4, p. 38], i.e., below this frequency disturbances are rejected and the reference value is tracked. Within the closed loop bandwidth, |S| is small and |T | ≈ 1, above that it is the other way around. The model above is quite simplified, but it shows the design rules that follow now. For an overview of a requirements breakdown we begin with a given requirement for the accuracy of the control variable y, which is usually derived from payload requirements. This requirement may be given, for example, as a variance or as a spectral density. From the closed loop relations, we see that such a requirement can be broken down into requirements on the closed loop functions, the disturbances acting on the spacecraft, and the measurement noise. These requirements can in turn be broken down into lower-level requirements as shown in Fig. 1.15, which allows us to summarize a number of design rules with respect to performance: •





In order to minimize the effect of disturbance torques and forces, it is worth to check all possibilities to reduce the disturbances themselves rather than relying on the closed loop disturbance rejection S, i.e., on the control loop alone. The external disturbance forces and torques are usually functions of the spacecraft shape and the orbit (altitude). These parameters can be modified for a reduction of external disturbances. Another important source of external disturbances is the propulsion system itself. An appropriate choice may avoid unnecessary difficulties in controller design.

1.4 System Design Rules

19

Requirement on y (attitude, rate, displacement, etc.)

Requirements on disturbances

External: Spacecraft design, orbit

Internal: Requirements on actuators

Requirements on closed loop system

Requirements on spacecraft dynamics

Requirements on sensors

Requirements on controller

Requirements on computer hardware and processing

Requirements on controller design

Fig. 1.15 Breakdown of a simplified spacecraft control axis







Within the closed loop bandwidth, where T ≈ 1, the sensor must be at least as accurate as the control requirement,5 even in case of perfect suppression of the external disturbances. Any averaging technique of the measurement will reduce the bandwidth and, therefore, the rejection of output disturbances. The closed loop transfer function depends on both the plant dynamics and on the actual controller. Whenever a controller design beyond standard methods is needed, it may be advantageous to modify the plant dynamics instead. Examples are the modification of mode frequencies by stiffening the structure and the implementation of appropriate fuel tanks to avoid sloshing effects. Requirements for the controller can be subdivided into hardware and processing requirements, such as delays, sampling frequencies, etc., and controller design requirements. In practice, especially delays have a significant (negative) effect on stability and performance margins.

1.4.2

Actuator Sizing

The forces and torques that can be generated in spacecraft body axes depend not only on the size of a single actuator, but also on the actuator configuration, i.e., their position

5 Some people even go so far as to call this the “first law of control”.

20

1 System Engineering Basics

and orientation with respect to the spacecraft body frame. For the dimensioning of actuators, we first estimate the torques and forces required in spacecraft control axes. In this subsection, we will provide some guidelines for doing so. The sizing of individual actuators must take into account the actual configuration. Some standard configurations are presented in Chap. 4. Torque and Force A necessary requirement of an actuator system is to counteract stationary disturbances. Therefore, in each spacecraft axis to be controlled, the force of the actuator system must be equal or larger than this disturbance. For torques, this means that l act  > k l dist where k > 1 is a factor that accounts for margins. In addition to the steady state requirement, an actuator system has to produce forces and torques during transitions, such as initialization, mode switches, or configuration changes. These transitions may require significantly larger actuation levels than steady state operations, depending essentially on the controller gains. A reasonable value to start with is k = 5. In order to account for short operational periods where actuation demands are larger than physically realizable, the control algorithms should have a built-in mechanism to limit the controller output in such a way that the physically realizable force or torque will not be exceeded. This is often realized by limiting the actuation signals in magnitude while maintaining their directions.

Angular Momentum Wheels are not only used for torque generation, but they also need to store or provide angular momentum. Two cases can be distinguished, both of which are described for a single-axis motion in the following. They both lead to guidelines for the dimensioning of the wheels. For fast slew maneuvers with wheels as actuators, the wheels have to store the angular momentum of the spacecraft during the slew. This is simply a consequence of the conservation of angular momentum. In a single spacecraft axis this momentum is hw > J ωmax with the maximum rate ωmax and the moment of inertia J of the spacecraft. Momentum bias systems are special application cases, where wheels are operated at a nominally constant, non-zero angular momentum. The total wheel momentum represents a bias in angular momentum that couples spacecraft axes perpendicular to that momentum bias. This can be considered as a passive stabilization effect. It is typically used for nadir oriented spacecraft without yaw sensing devices. The stiffness generated by the

1.4 System Design Rules

21

momentum bias affects the steady state yaw error. We will see in Sect. 5.4.1 that the steady state yaw error can be expressed as ψ∞ =

lz , ω0 h0

where lz is the constant disturbance torque around the spacecraft nadir axis, ω0 is the orbital rate of a circular orbit and h0 is the constant momentum bias established by the wheels. We see that increasing the momentum bias effectively reduces the yaw angle deviation. The relation above can be used to define the wheel size.

1.4.3

Processing and Software

Spacecraft control algorithms are usually conceived and designed in continuous time. On the other side, the implementation is strictly digital, i.e., in discrete time. Usually, the step size of any dynamic or iterative control algorithm is chosen small enough such that the overall system can be considered and analyzed in a quasi-continuous manner. In practice, this is easy to accomplish because the time constants of a typical spacecraft are relatively large. As a rule-of-thumb, the fastest frequency in a control loop should be sampled about 20 times. In a linear system, an estimate for the fastest frequency is the closed loop bandwidth. Above that, any frequency is blocked by the closed loop low pass behavior. The sampling rate is an important parameter to estimate the computer load. The computational load should not exceed 50% or 70% of the available computational power in the early development or the implementation phase, respectively.

1.4.4

Redundancy

Fault tolerance and redundancy are important issues in spaceflight. This affects also the control system design. In the following, some of the principles are explained that can be used to support redundant designs. Cross-Strapping Usually there is at least one nominal and one redundant branch of the functional processing chain. This is shown in Fig. 1.16, where N1, N2, and N3 denote functional units of the nominal branch of a spacecraft control system, e.g., sensor, processing device, and actuator. Similarly, R1, R2, and R3 are the redundant functional units. With additional cross links between the functional units, the overall redundancy can be increased as can be verified easily in Fig. 1.16. Internal Redundancy Many functional units of a control system, e.g., sensors and actuators, are already configured in such a way that they are internally redundant. Examples are Earth sensors that consist of one device with three telescopes rather than

22

1 System Engineering Basics

N1

N2

N3

nominal branch

R1

R2

R3

redundant branch

N1

N2

N3

nominal branch

R1

R2

R3

redundant branch

Fig. 1.16 Principle of cross-strapping between functional units

two devices with two telescopes each or wheel configurations that consist of four wheels rather than two systems with three wheels each. Functional Redundancy This refers to redundant implementation on a functional level. Example: Rate determination can either be accomplished simply with gyroscopes or it can also be achieved by attitude measurement devices together with appropriate numerical differentiation algorithms. An important part in the design of redundant systems is fault detection and isolation. Besides traditional methods like majority voting, there is the concept of analytical redundancy. It is based on the knowledge of analytical models that relate different sensor measurements or actuator commands with each other and thus can be used to formulate an over-determined equation system, which in turn can be used to check residuals for faults.

1.5

Budgets and Specifications

1.5.1

Key Parameters

The key parameters of a spacecraft control system are not only performance related. In fact, performance should be as good as required, but not better.6 From a system point of view, there are a number of very important key parameters which are used to evaluate a system design, namely mass, power, performance, and reliability. Performance can be subdivided into control performance, fuel consumption and actuation effort, and measurement performance (knowledge). In a broader sense, also functionality can be considered as a performance parameter.

6 Because this typically leads to higher cost.

1.5 Budgets and Specifications

23

In most projects, a budget is compiled for all of the key parameters above. These show the total value and a breakdown to the individual contributors. All of the above parameters are eventually driven by cost. This is usually the most important parameter, even for science spacecraft.

1.5.2

Specific Performance Parameters

Performance parameters for spacecraft control systems are usually specified for attitude angles and positions (or equivalently, orbit parameters). Attitudes and positions are usually expressed with respect to reference systems that describe a nominal motion and therefore these signals are basically deviations, which are typically small. In general, we have to distinguish between performance parameters that characterize transients, such as overshoot or rise time, and performance parameters of steady state operations. In the following, we concentrate on the latter. Root-Mean-Square Requirements Common performance parameters are root-mean-square (RMS) values or mean values and variances. In case of normally distributed signals, these two are equivalent. The RMS of a time domain signal y(t) is defined as:  yRMS =

1 T →∞ T

T

lim

1/2 y(t)2 dt

0

In case of a set of discrete values yi , i = 1, 2, . . . , n, rather than a continuous function y(t), it is:  y2RMS

=

 1 2 y1 + y22 + . . . + yn2 n

A given requirement specified in terms of a RMS value can be checked simply by calculating the actual RMS value from time-domain simulation data or flight data. For a zero-mean signal, the RMS value is equal to the square root of its variance.

Power Spectral Density Requirements In many precision control applications of spacecraft, deterministic disturbances are rejected completely and the remaining influences are purely stochastic. Therefore, the controlled outputs are essentially stochastic signals. In that case, RMS or variances can also be used for performance requirement specifications. However, very often the spectral behavior is of importance as well, for instance with payloads that measure in a specific frequency range. Under the assumption of a stationary stochastic process, we can

24

1 System Engineering Basics

formulate requirements in terms of a power spectral density. The power spectral density is defined as 1 |F{yT (t)}(ω)|2 , T →∞ T

Sy (ω) = lim

where F{·} denotes the Fourier transform and yT (t) is the time domain signal y(t) in the range for |t| < T and 0 otherwise. For a zero-mean signal, the variance is related to the power spectral density by: y2RMS =

1 2π

∞ −∞

Sy (ω) dω.

The power (variance) is the sum (integral) of the power spectral density at each frequency. This means that the power spectral density describes how the power is distributed over the frequency. Signals with different power spectral densities may have the same variance. Given a signal with unit X, the unit of its power spectral density is /Hz. Very often, the square root of the power spectral density is plotted, then the unit is X2√ X/ Hz. Windowed Statistical Requirements Spectral densities as shown above are defined for stationary processes and infinite, i.e., in practice, very long time intervals. However, there are many science or Earth observation payloads that take measurements during a predefined and limited observation time. In this case, spectral densities are not appropriate any more for the specification of requirements. Instead, statistical values have to be used that take into account the observation interval of a payload. Such values have been defined in the European Space Agency’s pointing error engineering handbook [1]. We first define three time parameters that are needed to specify appropriate error classes for observation payloads. The instantaneous time t is the actual mission time, the window time ti describes a time interval within an observation period i, and the stability time ts is the time between the centers of two subsequent time intervals. The time parameters are depicted in Fig. 1.17. Now we consider a signal e(t) with zero mean and define the following error classes. Absolute Performance Error (APE) The absolute performance error is simply the error signal e(t) itself. It is measured by its variance σ 2 = E{e(t)2 }, where E{·} denotes the expectation. Mean Performance Error (MPE) The mean performance error is the mean value of the error e(t) over the window time t. It is defined as 1 e(t, t) = t

t + t /2 t − t /2

e(τ ) dτ .

1.5 Budgets and Specifications

25

( )

Δ 1)

Δ1

RPE ( 1 ,

Δ2

MPE,1 PDE MPE,2

Δs

1

Fig. 1.17 Pointing: Time parameters and error classes

The MPE accounts for the pointing accuracy during the observation interval. A measure for the MPE is its variance, the windowed mean variance, defined as   2 σWM ( t) = E e(t, t)2 . 2 ( t) does not describe the variance of the signal itself during t, but the Note that σWM variance of the mean values over t. Relative Performance Error (RPE) The relative performance error is the error of e(t) with respect to its windowed mean e(t, t), i.e., e(t) − e(t, t). The relative performance error is small if there is little jitter around a windowed mean during an observation interval. A small RPE leads to a good resolution of an image. A measure of the RPE is the windowed variance, defined as7

 2 σWV =E

1 t

t + t /2 t − t /2

 (e(τ ) − e(t, ¯ t))2 dτ

7 In [2], a different metric is proposed to quantify the RPE and we expect the Pointing Error Engineering Handbook to be updated accordingly.

26

1 System Engineering Basics

Performance Drift Error (PDE) Very often, subsequent images of a payload must be correlated, hence the windowed mean of two observation intervals should not differ too much. This is expressed by the performance drift error. It is defined as the difference between two subsequent windowed mean values, i.e., e(t, t) − e(t − ts , t). Its expectation value is called the windowed mean stability variance   2 σWMS ( t, ts ) = E (e(t, t) − e(t − ts , t))2 A small performance drift error allows a small overlap between subsequent images. The error types described above represent pointing performance errors because we have tacitly assumed e(t) to be a control error, i.e., the deviation of the true value from its reference or commanded value. If e(t) is a knowledge error, i.e., the difference between the true value and its estimate, then we can use equivalent definitions for the absolute knowledge error (AKE), mean knowledge error (MKE), relative knowledge error (RKE) and knowledge drift error (KDE). The mathematical definitions are the same; the only difference is the meaning of e(t). Error Computations Requirement specifications for the error classes defined above can be checked either in the time domain or in the frequency domain. In the time domain, we simply evaluate time domain histories from flight data or simulation data, using estimations for the mean value and variances given above. The mean performance error of the k-th time window can computed with e¯k (Δt) ≈

i k +n 1 ei 2n + 1 ik −n

Here, i is the current time step and 2n + 1 is the number of equally spaced samples of the time window t centered at time step ik . The variance of the windowed mean can be computed with 1  2 ek , N −1 N

2 σWM ≈

k=1

where N is the number of time windows to be considered. In a similar way, the windowed variance and the windowed mean stability variance can be estimated: 2 σWV ≈

i N k +n 1  1 (ei − e¯k )2 N 2n + 1 i=ik −n

k=1

2 σWMS ≈

N 1  (e¯k − e¯k−s )2 N −1 k=1

References

27

The index k −s denotes the time that is s time steps in the past, counted from the current time step k. In the frequency domain, we use the relation between a one-sided power spectral density and variance. In case of the APE, this is given by the Wiener-Chintschin theorem: σ2 =

1 2π

∞ 0

Se (ω) dω

The variance (of a zero mean Gaussian process) is the integral of the one-sided power spectral density. When carrying out analyses in the frequency domain, this relation can be used to calculate the variance. Similar equations exist for the windowed variances defined above. The window effect can be represented by an additional filter that can be approximated by a rational transfer function F (s): σ 2 =

1 2π

∞ 0

|F (jω)|2 Se (ω) dω ,

where s is the complex Laplace variable, F (s) is evaluated at s = jω, and represents either the windowed mean (WM), windowed variance (WV), or windowed mean stability (WMS). Approximate rational transfer functions for the filter F (s) are [3]: 2(s t + 6) (s t)2 + 6(s t) + 12 √ s t (s t + 12) FWV (s) = (s t)2 + 6(s t) + 12

FWM (s) =

FWMS (s) =

2(s t + 6) 2s ts ( ts + 6) (s t)2 + 6(s t) + 12 (s ts )2 + 6(s ts ) + 12

These filter functions are very useful for analysis and design purposes as well as budget calculations.

References 1. ESSB-HB-E-003 Working Group: ESA pointing error engineering handbook. European Space Agency (2011) 2. Pittelkau, M., McKinley, W.: Pointing error metrics: Displacement, smear, jitter, and smitter with application to image motion MTF. In: AIAA/AAS Astrodynamics Specialist Conference. American Institute of Aeronautics and Astronautics (2012). https://doi.org/10.2514/6.2012-4869 3. Pittelkau, M.E.: Pointing error definitions, metrics, and algorithms. In: AAS/AIAA Astrodynamics Specialists Conference (2003) 4. Skogestad, S., Postlethwaite, I.: Multivariable Feedback Control. Wiley (2005) 5. Vallado, D.A.: Fundamentals of Astrodynamics and Applications, 4th edn. Microcosm Press (2013)

2

Satellite Motion Models

Abstract

Motion models are the basis for the design of spacecraft control systems and their verification in a simulation environment. Their understanding and proper interpretation is important for control system design. Three types of models are derived in this chapter, which are all composed of rigid bodies. The first model is a conventional spacecraft with reaction wheels. This corresponds to a gyrostat, i.e., a rigid multibody system with constant mass properties (mass and inertia), which is a consequence of the symmetry of each wheel. The model has six degrees of freedom of the main spacecraft and one degree of freedom for each wheel. The second model is again a multibody system, this time consisting of a spacecraft with control moment gyros instead of reaction wheels. The third configuration considers the special case of two bodies that consist of a main spacecraft and a test mass inside. The test mass can be suspended, free-flying, or a mixture of both. A suspension with high bandwidth corresponds to a classical accelerometer. Free-flying test masses are used for drag-free systems. The model covers the absolute motion of the main spacecraft and the relative motion of the test mass with respect to the main spacecraft. The derivations of the motion models are based on rather fundamental principles and are therefore somewhat involved. However, this allows modifications for specific applications, if necessary. Each derivation ends with a discussion of the resulting model. Readers that are not interested in all details of the derivations may look directly at the results. The rotational kinematics are briefly reviewed first.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_2

29

30

2.1

2 Satellite Motion Models

Rotational Kinematics

Velocities and coordinates, e.g., angular rate and attitude or linear velocity and position, are related by kinematic differential equations. While this is fairly simple for a linear motion (translation), it is much more complicated for an angular motion (rotation). Therefore, the rotational kinematics, i.e., the relation between angular rates and attitudes, are reviewed in this section.

2.1.1

Attitude Parametrization

The attitude of a rigid body with respect to a reference frame can be considered as a rotation of that reference frame into a (right-handed) body-fixed frame. This rotation can be expressed in many ways. In the following, three possibilities are outlined that are typically used in spaceflight applications: elementary rotations, direction cosine matrices (DCMs), and quaternions. Elementary Rotations A rotation from a reference attitude to a body-fixed attitude can be accomplished by a sequence of elementary rotations. Each elementary rotation is specified by a rotation axis i and an angle α. The corresponding transformation matrix for such an elementary rotation is denoted by T i (α), whose entries depend on the axis of rotation: ⎡

⎤ 1 0 0 ⎢ ⎥ T x (α) = ⎣0 cos α sin α ⎦ 0 − sin α cos α ⎡ ⎤ cos α 0 − sin α ⎢ ⎥ T y (α) = ⎣ 0 1 0 ⎦ sin α 0 cos α ⎡ ⎤ cos α sin α 0 ⎢ ⎥ T z (α) = ⎣− sin α cos α 0⎦ 0 0 1 There are many possibilities for such a rotation sequence, of which the 3-2-1 rotation sequence is very common in spaceflight applications. The first rotation is performed around the 3-axis (z-axis) with angle ψ, the second rotation around the 2-axis (the new y-axis after the first rotation) with angle θ , the third rotation around the 1-axis (the new xaxis after the first and second rotation) with angle φ. The angles associated with this 3-2-1 sequence are called Kardan angles. This means that whenever an attitude is specified with

2.1 Rotational Kinematics

31

Kardan angles, the rotation sequence is of type 3-2-1 and it remains to specify the three angles φ, θ , ψ.

Direction Cosine Matrix (DCM) The attitude of a body-fixed frame B with respect to a reference frame A can also be expressed by a 3 × 3 orthonormal transformation matrix denoted by T BA . The index ‘BA’ indicates a transformation from system A to system B, i.e., we must read from right to left. The elements of this matrix are called direction cosines because the ij -th entry Tij is the cosine of the angle between the i-th basis vector of B and the j -th basis vector of A. The nine elements of T BA have six constraints, corresponding to orthogonality and norm, hence the DCM has an information content of three scalars.

Quaternions and Gibbs Vector Euler’s eigenaxis theorem states that every rotation is defined by an axis of rotation and a rotation angle α around that axis. The axis of rotation can be described as a unit vector e = (e1 , e2 , e3 ) and satisfies T AB e = e , hence it is an eigenvector of the transformation matrix T AB .1 Using the eigenaxis and angle of rotation, quaternions are defined as:   q def e sin α/2 q= = , q4 cos α/2

(2.1)

 where the first three elements q = q1 q2 q3 constitute the vector part and q4 is the scalar part of the quaternion. A special property of the quaternion is its unit norm: qq = 1 ,

(2.2)

which can be easily verified using the definition (2.1). The Gibbs vector (also called Rodrigues vector) is another attitude parameterization, which is closely related to quaternions and defined as: def

g =

q α = e tan q4 2

(2.3)

1 The DCM has the three eigenvalues 1, jα, and −jα. The eigenaxis is the eigenvector corresponding to the eigenvalue 1.

32

2 Satellite Motion Models

The Gibbs vector itself has three components. It directly represents the rotation axis, but it has a singularity2 for rotation angles of ±π.

Successive Rotations The description of successive rotations follows the rules of matrix multiplication: Let T BA be the (DCM of the) attitude of a system B with respect to a system A and let T CB be the attitude of a system C with respect to system B. Then the attitude of C with respect to A is given by: T CA = T CB T BA This multiplication can also be performed with quaternions: Let q BA and q CB be the quaternions corresponding to T BA and T CB , respectively. Then the quaternion describing the attitude T CA is given by: def

q CA = q CB ⊗ q BA =

qCB,4 I − [q CB ×] −q  CB

q CB qCB,4



q BA qBA,4

,

(2.4)

where ⊗ denotes the quaternion multiplication3 and [q CB ×] denotes the skew-symmetric cross-product matrix of q CB (see also Sect. B.1 in the appendix): ⎡

0 def ⎢ [q×] = ⎣ q3 −q2

2.1.2

−q3 0 q1

⎤ q2 ⎥ −q1 ⎦ 0

Conversions

In practice, it is often required to convert between different attitude representations. In the following, conversion formulas are given between quaternions and DCMs as well as between DCMs and Kardan Angles.

2 More precisely, this is a coordinate singularity that could be avoided by choosing a different

attitude representation. We will encounter a different type of singularity in Sect. 2.3.4. 3 In some sources, the quaternion multiplication is defined with a positive cross product, which is actually the original definition from William Hamilton, the “inventor” of quaternions. In that case, the quaternion for the rotation from A to C would be q CA = q BA ⊗ q CB . Our definition in (2.4) is more common in the field of attitude control as it is in line with the order of the corresponding DCM multiplication and therefore more intuitive.

2.1 Rotational Kinematics

33

Kardan Angles to Direction Cosine Matrix The conversion from Kardan angles to the corresponding DCM T is simply obtained by evaluating the three successive elementary rotations: T = T x (φ) T y (θ ) T z (ψ) ⎡ ⎤⎡ cos θ 1 0 0 ⎢ ⎥⎢ = ⎣0 cos φ sin φ ⎦ ⎣ 0 sin θ 0 − sin φ cos φ ⎡

cos θ cos ψ ⎢ = ⎣sin φ sin θ cos ψ − cos φ sin ψ cos φ sin θ cos ψ + sin φ sin ψ

⎤⎡ cos ψ 0 − sin θ ⎥⎢ 1 0 ⎦ ⎣− sin ψ 0 0 cos θ

sin ψ cos ψ 0

cos θ sin ψ sin φ sin θ sin ψ + cos φ cos ψ cos φ sin θ sin ψ − sin φ cos ψ

⎤ 0 ⎥ 0⎦ 1 ⎤ − sin θ ⎥ sin φ cos θ ⎦ cos φ cos θ

(2.5)

Quaternions to Direction Cosine Matrix With geometrical considerations, which are not further detailed here,4 it can be shown that T = (2 q42 − 1) I + 2 (q q  − q4 [q×]) ⎡ 2 (q42 + q12 ) − 1 2 (q1 q2 + q4 q3 ) ⎢ = ⎣2 (q1 q2 − q4 q3 ) 2 (q42 + q22 ) − 1 2 (q1 q3 + q4 q2 ) 2 (q2 q3 − q4 q1 )

⎤ 2 (q1 q3 − q4 q2 ) ⎥ 2 (q2 q3 + q4 q1 )⎦ 2 (q42 + q32 ) − 1

(2.6)

In the following, let Tij denote the entry in the i-th row and j -th column of T , hence: ⎡

T11 ⎢ T = ⎣T21 T31

T12 T22 T32

⎤ T13 ⎥ T23 ⎦ T33

Direction Cosine Matrix to Kardan Angles The upper row and right column of T in (2.5) can be used to calculate the Kardan angles: φ = arctan2 (T23 , T33 ) θ = − arcsin T13 ψ = arctan2 (T12 , T11 ) ,

4 A detailed derivation can be found in e.g. [12, p. 330].

34

2 Satellite Motion Models

where the angle θ is restricted to the interval −90 deg ≤ θ ≤ 90 deg. The function arctan2 is an extension of the arctan-function that covers all four quadrants and is defined by:

def

arctan2 (y, x) =

  ⎧ y ⎪ ⎪ 2 arctan √ 2 2 x > 0 or y = 0 ⎪ ⎨ x +y +x ⎪π ⎪ ⎪ ⎩ not defined

x < 0 and y = 0 x = 0 and y = 0

Direction Cosine Matrix to Quaternions From the expression of T in (2.6), the quaternions can be calculated by one of the following sets of equations, assuming the denominator values are non-zero.

q2 =

1 (T12 + T21 ), 4 q1

1 (T12 + T21 ), 4 q2

1 (T31 + T13 ), 4 q3

1 1 + T11 + T22 + T33 2 1 1 q2 = (T31 − T13 ), q3 = (T12 − T21 ) 4 q4 4 q4

q4 =

Case 4: q1 =

1 1 + T33 − T11 − T22 2 1 1 q2 = (T23 + T32 ), q4 = (T12 − T21 ) 4 q3 4 q3

q3 =

Case 3: q1 =

1 1 + T22 − T11 − T33 2 1 1 q3 = (T23 + T32 ), q4 = (T31 − T13 ) 4 q2 4 q2

q2 =

Case 2: q1 =

1 1 + T11 − T22 − T33 2 1 1 q3 = (T31 + T13 ), q4 = (T23 − T32 ) 4 q1 4 q1

q1 =

Case 1:

1 (T23 − T32 ), 4 q4

There is always at least one case with non-zero denominators, of which the one with the highest absolute value of the denominator should be chosen. Finally, if q4 < 0, then q should replaced by −q. This still describes the same attitude, but ensures that the rotation angle α is between −π and π.

2.1 Rotational Kinematics

2.1.3

35

Differential Equations

For each of the attitude parameterizations presented above, a differential equation is now derived, which relates the time derivative of the attitude to the angular rate. For a given angular rate, the attitude can then be obtained by integrating this differential equation. This is usually done with numerical methods. Direction Cosine Matrix Consider a spacecraft body-fixed frame B to be rotating with respect to a reference frame, e.g., the inertial frame I. The rotation rate of B with respect to I, expressed in B, shall be Bω = BωB/I and the attitude of B with respect to I is expressed by T BI . Let Ba be a unit vector fixed and expressed in B. Then: Ia

= T IB Ba

(2.7)

Differentiating (2.7) with respect to time yields ˙ Ia

= T˙ IB Ba + T IB Ba˙   

(2.8)

=0

Physically, a rotates with B, hence Ba˙ = 0 and its rate of change is entirely caused by the rotation of B with respect to I: ˙ Ia

= T IB





× Ba



(2.9)

Comparing (2.8) and (2.9) yields T˙ IB = T IB [ Bω ×]

(2.10)

This is a differential equation that relates the time derivative T˙ IB of the attitude to the rate ω. This equation can also be considered as a definition of the rotation rate ω: [ Bω ×] = T BI T˙ IB

(2.11)

In practice, (2.10) is not used for modeling purposes because this would require the integration of nine values while maintaining six constraints (orthogonality and unit norm).

Quaternions Inserting (2.6) into (2.11) yields after some algebraic manipulations   [ω×] = −2 [(q × q)×] ˙ + q˙4 [q×] − q4 [q×] ˙

36

2 Satellite Motion Models

and thus:   ω = −2 q × q˙ + q˙4 q − q4 q˙

(2.12)

This result and the derivative of the constraint equation (2.2) 2 q  q˙ = 0 can be combined to  ˙ ω q˙4 I − [q×] =2  −q˙ 0

q˙ q˙4



−q q4

= 2 q˙ ⊗ q −1 ,

where the term on the left-hand side can be thought of as the “quaternion notation” of ω. Inversion yields the standard form of the differential equation for quaternions: 1 1 q˙ = ω ⊗ q = 2 2



−[ω×] ω q 0 −ω

(2.13)

with the components: 1 (q4 I + [q×]) ω 2 1 q˙4 = − q  ω 2 q˙ =

(2.14a) (2.14b)

This quaternion differential equation is very often used in practice for numerical integration. It has no singularity and only one constraint (the unit norm of the quaternion) has to be maintained through normalizations after numerical integration steps. Kardan Angles In case of a 3-2-1 rotation sequence, the angular rate ω can be constructed from three attitude derivative contributions. They must all be expressed in the same coordinate system, here in the spacecraft body-fixed system: ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎡ 0 0 1 φ˙ ⎜ ⎟ ⎜ ˙⎟ ⎜ ⎟ ⎢ ω = ⎝ 0 ⎠ + T x (φ) ⎝θ ⎠ + T x (φ) T y (θ ) ⎝ 0 ⎠ = ⎣0 0 ψ˙ 0 0

0 cos φ − sin φ

⎤⎛ ⎞ − sin θ φ˙ ⎥ ⎜ ˙⎟ sin φ cos θ ⎦ ⎝ θ ⎠ cos φ cos θ ψ˙

2.1 Rotational Kinematics

37

This can be solved for ϕ˙ = φ˙

θ˙

ψ˙



cos θ 1 ⎢ ϕ˙ = ⎣ 0 cos θ 0



:

sin φ sin θ cos φ cos θ sin φ

⎤ cos φ sin θ ⎥ − sin φ cos θ ⎦ ω , cos φ

(2.15)

which is the kinematic equation for an attitude parametrization in Kardan angles. There is a singularity at θ = 90 deg, which is a major drawback compared to quaternions.

2.1.4

Two-Axis Inertial Pointing

For a spacecraft that performs two-axis pointing with respect to an inertially fixed direction, e.g., the Sun direction, a two-axis kinematic equation is appropriate. Again, consider a body-fixed frame B that rotates with respect to an inertial frame I with the angular rate ω = ωB/I and let a be a unit vector expressed in I. Then Ia

= T IB a ,

where a is given in the body frame. The derivative with respect to time is ˙ Ia

= T˙ IB a + T IB a˙

and therefore T BI Ia˙ = T BI T˙ IB a + a˙ = ω × a + a˙ , where (2.11) was used in the last step. Solving for a˙ yields: a˙ = T BI Ia˙ − ω × a

This is a two-axis kinematic equation that describes the derivative of a two-axis attitude, the unit vector a, as a function of the angular rate ω. In many application cases, the term T BI Ia˙ can be neglected. For example, if a is the Sun direction, it changes very slowly in the inertial frame I. As a result, we have: a˙ = −ω × a

(2.16)

38

2 Satellite Motion Models

Fig. 2.1 Rigid spacecraft with wheel (gyrostat)

2.2

Single-Body Spacecraft and Gyrostat

Many conventional spacecraft can be modeled as a rigid body or as a gyrostat. A gyrostat is a mechanical system that consists of more than one rigid body and still has time invariant mass properties. In our application, this is a rigid spacecraft main body and reaction or momentum wheels that are used for control purposes. Such a spacecraft configuration is shown in Fig. 2.1. The main body and the symmetric rotating wheel are denoted by the indices (B) and (W), respectively. The points I , P , and C denote the origins of the inertial, body fixed, and wheel coordinate system. By definition, the point C is on the rotation axis of the wheel.

2.2.1

Dynamics of Rotation and Translation

In the following, we derive the dynamic equations for a gyrostat. To this end, the kinematics of one mass element is considered, then linear and angular momentum equations (Newton and Euler) in their fundamental forms are used to derive the dynamics of both translation and rotation. We will see that the dynamics of a gyrostat are very similar to those of a single rigid body. Kinematics for One Mass Element Position, velocity, and acceleration of the mass element dm can be expressed with relative kinematics relations as z = rP + r ∗



∗∗

∗∗

z = r P + ω × r + r˙ z = r P + ω˙ × r + ω × (ω × r) + 2 ω × r˙ + r¨ ,

(2.17a) (2.17b) (2.17c)

2.2 Single-Body Spacecraft and Gyrostat

39

where all vectors are expressed in the spacecraft’s body frame, (∗) denotes the derivative with respect to time in the inertial reference frame, and (·) is the derivative with respect to time in the body system. If the mass element is part of a wheel, the vector r and its derivatives are: r = rC + ρ

(2.18a)

r˙ = ωrel × ρ

(2.18b)

r¨ = ω˙ rel × ρ + ωrel × (ωrel × ρ) ,

(2.18c)

where ωrel is the angular rate of the wheel relative to the main body. Note that r˙ C = 0 because the point C is fixed in the spacecraft body frame.

Linear and Angular Momentum Equations The linear momentum equation (Newton’s second law [10]) in its most general form is ∗

f = p,

(2.19)

where p is the linear momentum of a body and f is the sum!of all external forces acting ∗ on it. For a rigid body with constant mass properties, p = B z dm and (2.19) becomes using (2.17): " f = " =

∗∗

B

z dm "

∗∗

B

r P dm +

+2

" B

" B

ω˙ × r dm +

ω × r˙ dm +

" B

B

ω × (ω × r) dm + . . . (2.20)

r¨ dm

" " "

∗∗ ˙ + [ω×]2 r dm + 2 ω × r˙ dm + r¨ dm. = m r P + [ω×] B

W

W

The indices B and W denote the integration over !the whole spacecraft body including wheel5 and the wheel only, respectively, and m = B dm is the total spacecraft mass. In ∗∗ the last step, r P , ω, and ω, ˙ which are constant over the entire body, have been pulled out of the integral. Furthermore, as the main body is rigid, r˙ = 0 and r¨ = 0 for all mass elements that are not part of the wheel, hence the last two integrals only need to cover the wheel.

5 For a body of constant density , this is the volume integral

!!! ∗∗ z  dx dy dz.

40

2 Satellite Motion Models

The angular momentum equation (Euler’s equation) in its most general form is ∗

l (I ) = h(I ) ,

(2.21)

where l (I ) is the sum of all external torques around the point I and h(I ) is the angular ! ∗ momentum around I . For our rigid body, h = B z × z dm and (2.21) becomes: l (I ) =

"

"

∗∗

z × z dm =

B

∗∗

B

"

r P × z dm +

"

∗∗

B

r × z dm = r P × f +

∗∗

B

r × z dm

Using again the relations of the relative kinematics (2.17) and formulating the torque with respect to P 6 leads to l (P ) =

" "

=

∗∗

B

r × z dm "

∗∗

B

[r×] dm r P +

B





[ω×] ˙ + [ω×]2 r + 2 ω × r˙ + r¨ dm

This equation can be rearranged using the following properties of the cross-product matrix (see also Sect. B.1 in the appendix): [r×][ω×]r ˙ = −[r×][r×]ω˙ [r×][ω×]2 r = −[ω×][r×][r×]ω 2 [r×][ω×]r˙ = −[r×][r×]ω ˙ − [r×][r×]ω ˙ + [ω×][r×]r˙ With some algebraic manipulations, it is then possible to remove the angular rate and angular acceleration from the integrals: l (P ) =

"

∗∗

B

[r×] dm r P −

"



W

"

" B

[r×][r×] dm ω˙ − ω ×

  [r×] [r×] ˙ + [r×][r×] ˙ dm ω + ω ×

B

[r×][r×] dm ω + . . .

"

W

" r × r˙ dm +

W

r × r¨ dm (2.22)

The equations (2.20) and (2.22) describe the dynamics of a spacecraft with wheels. They are still quite complex, but can be significantly simplified if the reference point P is chosen to be in the center of mass of the spacecraft. These simplifications require some definitions and assumptions.

6 A torque defined in this way has a meaningful interpretation. Moreover, this will lead to some simplifications, as will become clear below.

2.2 Single-Body Spacecraft and Gyrostat

41

Some Definitions and Assumptions The inertia matrices of the total spacecraft and the wheel only are defined as " J = " Jw =

B

[r×] [r×] dm (2.23) 

W

[r×] [r×] dm

Then, the angular momentum of the wheel can be written as hRW = J w ωrel

(2.24)

P and C are the centers of mass of the whole spacecraft and the wheel, respectively. This means that " r dm = 0 (2.25a) "

B

W

ρ dm = 0

(2.25b)

The wheel rotates around a principal axis and therefore there is no gyro coupling: ωrel × J w ωrel = 0

(2.26)

Furthermore, the wheel is cylindrical and its mass properties are time invariant when rotating: "

[r×] [r×] ˙ + [r×] ˙  [r×] dm = J˙ w = 0 W

(2.27)

These assumptions lead to significant simplifications in the dynamics equations that are summarized next.

Dynamics Equations With the assumptions above, the translational dynamics (2.20) become7 ∗∗

m rP = f = f g + f r ,

7 The fact that the last two terms of (2.20) vanish can be shown by using (2.18) and (2.25).

(2.28)

42

2 Satellite Motion Models

where f is the force applied on the spacecraft, which can be split into f g and f r , the Earth’s gravitational force and the rest of applied forces, respectively. It is a well-known result that we can consider the dynamics of translation as if the whole spacecraft mass was concentrated in its center of mass. Similarly, the rotational dynamics (2.22) simplify to J ω˙ + h˙ RW + ω × (J ω + hRW ) = l (P ) = l g + l r

(2.29)

Here, l (P ) is the torque applied to the spacecraft with respect to the point P and l g and l r denote the Earth’s gravitational torque and the rest of applied torques, respectively. The rotational dynamics of a gyrostat are formally the same as those of a single rigid body, but the total angular momentum is composed of the rigid body momentum and the wheel momentum, i.e., J ω + hRW . At first glance, the dynamics equations for rotation and translation seem to be decoupled, but this is not true. The gravitational force affecting the spacecraft’s position depends on its attitude and the gravitational torque affecting the spacecraft’s attitude depends on its position. This coupling will be discussed in more detail in Sect. 2.2.3.

2.2.2

Wheel Dynamics

In addition to the dynamics of the spacecraft, the dynamics of the wheel(s) must be derived. As in the case of the spacecraft alone, we use Euler’s equations: J w ω˙ + h˙ RW + ω × (J w ω + hRW ) = l a , where l a is the torque applied to the wheel. For simplicity, but without loss of generality,

the wheel spin axis is chosen as u = 1 0 0 . The wheel’s inertia matrix is

Jw

⎡ Jws ⎢ =⎣ 0 0

0 Jwt 0

⎤ 0 ⎥ 0 ⎦, Jwt

where Jwt and Jws are moments of inertia orthogonal to and along the spin axis of the wheel, respectively. The wheel motion is constrained to a spin around u. Thus, the scalar dynamics equation for one wheel is:

u J w ω˙ + h˙ RW + ω × (J w ω + hRW ) = u l a Due to the wheel’s symmetry, u [ω×] J w ω = 0. Moreover, hRW = hw u, hence × hRW ) = 0. The applied torque consists of the motor torque lm and the

u (ω

2.2 Single-Body Spacecraft and Gyrostat

43

friction torque. For simple models, the latter can be considered proportional to the wheel momentum, which yields h˙ w = −Jws (ω˙  u) − Cf hw + lm

(2.30)

with a friction coefficient Cf . Usually, Jws (ω˙  u)  h˙ w , hence the first term on the righthand side is considered as a disturbance, which is also dominated by the friction. The motor torque lm is the actuation signal.

2.2.3

Gravitational Force and Torque

Gravitation has a major influence on a spacecraft motion in both linear and angular motion, see (2.28) and (2.29). In this section, we will take a closer look at these influences. The gravitational force applied on a mass element dm of the spacecraft is df g = −μ

z dm , z 3

where μ is the Earth’s gravitational parameter. The total gravitational force applied on the spacecraft is then given by the integral over the whole spacecraft body: " f g = −μ

B

rP + r dm z 3

As the vectors z and r depend on the attitude of the spacecraft, so does the gravitational force f g . The contribution from the vector r appears relatively small and may therefore be negligible. We will now show that this is indeed the case. To this end, we first express the denominator of the integral in terms of r and r p : z −3 =



(r P + r) (r P + r)

−3

−3/2   = r P rP + 2 r rP + r r  = r P −3 ≈ r P −3

r 2 r r P + 1+2 r P 2 r P 2  r Pr 1−3 r P 2

−3/2

In the last step, the approximation (1 + ε)−3/2 = 1 − 3/2 ε + . . . for small numbers ε was used. The term r 2 / r P 2 is proportional to (spacecraft dimensions/orbit dimensions)2 and therefore negligible.

44

2 Satellite Motion Models

This result is now inserted into the expression for f g . Again neglecting terms of the order of (spacecraft dimensions/orbit dimensions)2 yields " f g = −μ =−

=−

B

μ

rP + r r P 3 "

r P 3



B

 1−3

r Pr



r P 2

dm "

(r P + r) dm − 3

B

rP

r Pr

"

r P 2

dm − 3

B

r r dm r P r P 2



" " " ⎜ " ⎟ rP r r r ⎜ ⎟ P r dm + r dm −3 r dm −3 dm r ⎜ ⎟ P P 2 ⎠ r P 3 ⎝ r P 2 B B B B r P          μ

=0

=0

≈0

μ

rP ≈− m 2 r r P P (2.31) Note that the last line of (2.31) does not depend on the spacecraft’s attitude as the only attitude-dependent variable r does not appear anymore. The reason is that expressions of the order (spacecraft dimensions/orbit dimensions)2 have been neglected. Therefore, the gravitational force can be treated as if it is applied to the center of mass. Similar to the gravitational force, the gravitational torque is associated with a mass element: dl g = r × df g = −μ r × = −μ

rP + r z 3

dm

r × rP dm z 3

Using the linearized expression for z −3 derived above and integrating over the whole spacecraft body yields the total torque on the spacecraft. Since this torque is caused by the gradient of the gravitational field over the spacecraft body, it is called gravity gradient torque and will be calculated in the following.

2.2 Single-Body Spacecraft and Gyrostat

" l g = −μ " = −μ = −3

[r×]r P dm z 3

B

B



rP r P 3

μ

rP × r P 3 r P

45

 1−3 " B

r Pr

r P 2

r r  dm

dm

rP r P

(2.32)

"

rP rP 2  [r×] = −3 − r r I dm × 3 r P r P r P B μ =3 eP × (J eP ) r P 3 μ

def

In the last line of (2.32), eP = −r P / r P denotes the unit vector that points from the spacecraft center of mass towards the Earth. This vector, expressed in the body fixed frame, depends on the spacecraft attitude, hence the gravity gradient torque is attitude dependent.8 Furthermore, the gravity gradient torque depends on the position r P of the spacecraft as well. Only for circular orbits, r P −3 is constant and the term μ/ r P 3 = ω02 represents the (square of the) orbital rate. In that case, there is no time-varying coupling between translational and rotational motion.

2.2.4

Multiple Wheels and Summary

In this section, we will summarize the complete set of equations for the attitude motion for the general case of N reaction wheels. Very often, N = 4, hence there is redundancy against the failure of one wheel. The spacecraft attitude motion model is given by (2.29) J ω˙ + ω × (J ω + hRW ) + h˙ RW = l (P ) = l g + l r together with the equation for the kinematics of rotation (2.13) 1 q˙ = 2



−[ω×] ω q 0 −ω

8 Expressing (2.32) in an inertial reference frame would not change this fact although e is I P independent of the attitude. However, the attitude dependence would enter via the inertia matrix IJ , which would have to be expressed in the inertial frame where it depends on the spacecraft’s attitude.

46

2 Satellite Motion Models

The gravitational torque l g is specified in (2.32). The angular momentum of the N wheels is ⎞ ⎛ h w,1 N $ %⎜ # . ⎟ ⎟ hRW = ui hw,i = u1 · · · uN ⎜ (2.33) ⎝ .. ⎠ i=1 hw,N and its derivative is given by ⎞ ˙ w,1 h %⎜ . ⎟ ⎟ · · · uN ⎜ ⎝ .. ⎠ h˙ w,N ⎛

h˙ RW =

N #

$ ui h˙ w,i = u1

i=1

(2.34)

For each of the N wheels, ˙ − Cf,i hw,i + lm,i h˙ w,i = −Jws u i ω

(2.35)

Wheels can be used as actuators for attitude control purposes or as devices to establish coupling between the spacecraft axes, which will be discussed in Sect. 5.4.1. The number of wheels does not affect the dynamics of translation (2.28): ∗∗

m rP = f = f g + f r

(2.28)

The gravity force is specified in Eq. (2.31). Remember the assumptions made during the derivation process, e.g., that the reference point P is the center of mass and the wheels are symmetric around their spin axes.

2.3

Single-Body Spacecraft with Control Moment Gyros

For applications with high torque demands, reaction wheels may not be sufficient, hence control moment gyros (CMGs) become the actuators of choice. Large structures such as the International Space Station are obvious examples of such applications, but the last decade has also seen increasing agility requirements on Earth observation satellites, hence more and more of these spacecraft will be equipped with CMGs. A CMG is a spinning wheel mounted such that it can rotate around one or two gimbal axes. In this book, we will restrict our discussions on single-gimbal CMGs as they offer the best compromise between high torque amplification and hardware complexity [5, 7]. Figure 2.2a shows a functional sketch of a rigid body spacecraft with one CMG. Compared with a reaction wheel, a single-gimbal CMG has an additional degree of freedom around the gimbal axis γ . This is visualized in Fig. 2.2b, where we distinguish

2.3 Single-Body Spacecraft with Control Moment Gyros

47

(a) spacecraft body

d

(b)

CMG

Fig. 2.2 (a) Rigid spacecraft with CMG. (b) CMG coordinate frames

between the CMG’s mounting frame {ξ , η, γ }, which is fixed with respect to the spacecraft body, and the CMG’s wheel frame W = {ς , o, γ }, which is fixed to the wheel and rotates with it around the gimbal axis γ . The angular displacement of the CMG flywheel’s spin axis ς from the reference orientation ξ is called the gimbal angle δ. To derive the rotational dynamics of a rigid-body spacecraft with CMGs, we will first formulate the angular momentum equation of a spacecraft with one CMG (Sect. 2.3.1), then take a look at the flywheel and gimbal dynamics (Sect. 2.3.2) before formulating the full equations of motion in Sect. 2.3.3. Finally, we will briefly discuss CMG array singularities in Sect. 2.3.4.

2.3.1

Rotational Dynamics

For the formulation of the CMG’s rotational dynamics, we will start by formulating the angular momenta of the different components and then differentiating them with respect to time to get the angular momentum equation. This approach was also taken in [6, 7], but differs slightly from the one we used in Sect. 2.2.1, where we started with the angular momentum equation directly. However, both approaches are based on first principles and arrive at the correct description of the underlying physics. First, consider the CMG’s gimbal assembly without the flywheel. The motion of a differential mass element dm belonging to the gimbal assembly is defined by the spacecraft

48

2 Satellite Motion Models

angular rate ω with respect to the inertial frame and the rotation of the gimbal δ˙ γ with respect to the spacecraft body: r = rC + ρ ∗





r = rC + ρ

  = ω × r C + ω + δ˙ γ × ρ

The angular momentum of the gimbal assembly around P is then: ) h(P g =

"

"



r × z dm = "

g

g ∗

= g

&∗   ' (r C + ρ) × r P + ω × r C + ω + δ˙ γ × ρ dm "

r C × r P dm +

" g

g

r C × (ω × r C ) dm +

"



+

"

ρ × r P dm +

"

g

ρ × (ω × r C ) dm +

g

& ' r C × (ω + δ˙ γ ) × ρ dm + . . .

& ' ρ × (ω + δ˙ γ ) × ρ dm g

We assume a balanced CMG, ! hence r C is the center of mass of the gimbal assembly and the flywheel and therefore g ρ dm = 0. For the last term, we can pull the angular rates ∗ out of the integration as done in Sect. 2.2.1 (see also Sect. B.1). The vectors r C and r P do not depend on the gimbal’s mass distribution and can therefore be pulled out of the integration as well. Performing these simplifications and defining the gimbal assembly’s ! mass mg = g dm yields $ %   ∗ )   (C) h(P ω + δ˙ γ , g = mg r C × r P + mg r C r C I − r C r C ω + J g

(2.37)

where J (C) g =

"

ρ  ρ I − ρρ  dm g

is the gimbal assembly’s inertia matrix around C. Analogously, the angular momentum of the CMG flywheel around P is " ∗ ) h(P = r × z dm , fw fw

but this time, the motion of the differential mass element dm has three contributions, namely the spacecraft rotation, the gimbal rotation, and the flywheel rotation: r = rC + ρ ∗





r = rC + ρ

  = ω × r C + ω + δ˙ γ + ωfw ς × ρ

2.3 Single-Body Spacecraft with Control Moment Gyros

49

Repeating the! steps from above using the same simplifications and defining the flywheel mass mfw = fw dm yields ) h(P fw =

" fw

&∗   ' (r C + ρ) × r P + ω × r C + ω + δ˙ γ + ωfw ς × ρ dm

"

"



= fw

r C × r P dm +

" +  fw "

rC ×

&

" fw

r C × (ω × r C ) dm +



ρ × r P dm + . . .  fw  

"

=0

 ' ω + δ˙ γ + ωfw ς × ρ dm + ρ × (ω × r C ) dm + . . .    fw   =0

=0

&  ' ρ × ω + δ˙ γ + ωfw ς × ρ dm

+ fw

$ %  ∗ (C)   ˙ = mfw r C × r P + mfw r  r I − r r C C C C ω + J fw ω + δ γ + ωfw ς , where (C)

"

J fw =



ρ  ρ I − ρρ  dm

fw

is the CMG flywheel’s inertia matrix around C. The total angular momentum of the CMG is the sum of the gimbal and flywheel contributions: ) (P ) (C) ˙ (C) h(P gfw = mgfw r C × r P + J gfw ω + J gfw δ γ + J fw ωfw ς , ∗

(2.39)

where mgfw = mg + mfw is the combined mass of the gimbal assembly and flywheel, (C) (C) (C) J gfw = J g + J fw is the combined inertia matrix of the gimbal assembly and flywheel around C, and $ % ) (C)   J (P gfw = mgfw r C r C I − r C r C + J gfw is the combined inertia matrix of the gimbal assembly and flywheel around P . The angular momentum of the spacecraft bus (without the CMG) is given by ) h(P Bus

"



=

"

r × z dm = "

Bus

Bus ∗

= Bus

∗  r × r P + ω × r dm

(P )

r × r P dm + J Bus ω ,

50

2 Satellite Motion Models

where (P ) J Bus

"

r  r I − r r  dm

= Bus

is the inertia matrix of the spacecraft bus around P . Summing all contributions yields the total angular momentum of the rigid body spacecraft with one CMG: h(P ) =

"

 Bus

r dm + mgfw r C



∗ (P ) (P ) (C) (C) × r P + J Bus + J gfw ω + J gfw δ˙ γ + J fw ωfw ς

Because the points P and C are the centers of mass of the complete spacecraft and the CMG, respectively, the first term is actually zero: "

" Bus

r dm + mgfw r C =

r dm + mgfw "

Bus

" r dm +

= " =

Bus

B

1 mgfw

" r dm gfw

r dm gfw

r dm = 0,

! where B denotes the integration over the complete spacecraft body including the CMG. (P ) (P ) With the complete spacecraft’s inertia matrix J = J bus + J gfw , the total angular momentum becomes: (C) (C) h(P ) = J ω + J gfw δ˙ γ + J fw ωfw ς = J ω + hCMG

(2.40)

To obtain the angular momentum equation, we have to differentiate (2.40) with respect to time, which requires us to correctly consider all rotations of the different components. To this end, we reformulate (2.40) to $ % (C)  (C) h = J Bus ω + mgfw r  C r C I − r C r C ω + J g ωg/I + J fw ωfw/I ,

(2.41)

where we have sorted the inertia matrices of all components to their angular rates with respect to an inertial reference frame: ω = ωB/I ωg/I = ω + δ˙ γ ωfw/I = ω + δ˙ γ + ωfw ς

(spacecraft bus) (gimbal assembly) (flywheel)

2.3 Single-Body Spacecraft with Control Moment Gyros

51

For the following considerations, we express (2.41) in the inertial reference frame, but omit the prescript to avoid cluttering the notation too much. For every component, the time derivative of the product J ω /I is then: 

∗  ∗ ∗ J ω /I = J ω /I + J ω /I "

∗ ∗ ∗ ∗ 2 ρρ I − ρ ρ − ρ ρ dm ω /I + J ω /I =

" =



  2 ρ  ω /I × ρ I dm ω /I + ω /I ×  

 "

+

"

=0



−ρ ρ  dm ω /I + . . .

  ∗ −ρ ω /I × ρ ω /I dm + J ω /I   

=0



= ω /I × J ω /I + J ω /I Using the time derivatives ∗

rC = ω × rC ∗

γ =ω×γ   ∗ ς = ω + δ˙ γ × ς , we can now formulate the angular momentum equation: $ % ∗ ∗ ∗  ∗ h = J Bus ω + J Bus ω + mgfw r  r I − r r C C C C ω +... $ % ∗ ∗ ∗  + mgfw 2 r  C rC I − rC rC − rC rC ω + . . . ∗ ∗ (C) ∗ + J (C) ω + δ¨ γ + δ˙ γ + J g (ω + δ˙ γ ) + . . . g ∗ ∗ (C) ∗ ∗ ω + δ¨ γ + δ˙ γ + ω˙ fw ς + ωfw ς + J fw (ω + δ˙ γ + ωfw ς ) $ % ∗  ∗ = J Bus ω + ω × J Bus ω + mgfw r  C rC I − rC rC ω + . . . $ %    (C) ∗ + ω × mgfw r  ω + δ¨ γ + δ˙ ω × γ + . . . C rC I − rC rC ω + J g (C)

+ J fw

˙ + (ω + δ˙ γ ) × J (C) g (ω + δ γ ) + . . .  (C)  ∗ + J fw ω + δ¨ γ + δ˙ ω × γ + ω˙ fw ς + ωfw (ω + δ˙ γ ) × ς + . . . ˙ + (ω + δ˙ γ + ωfw ς ) × J (C) fw (ω + δ γ + ωfw ς )

52

2 Satellite Motion Models

$ %

(C) ∗  (C) + J = J Bus + mgfw r  r I − r r + J ω +... C C g C C fw $ %

(C)  (C) ω +... + ω × J Bus + mgfw r  C r C I − r C r C + J g + J fw

(C) ¨ + J (C) ˙ fw ς + J (C) δγ +... g + J fw fw ω

(C) (C) 2 γ +... ς × J fw ς + δ˙2 γ × J (C) + ωfw g + J fw

(C) (C) + δ˙ ωfw J (C) γ × ς + γ × J ς + ς × J γ +... fw fw fw

(C) (C) (C) + ωfw J fw ω × ς + ω × J fw ς + ς × J fw ω + . . . $





% (C) (C) (C) + δ˙ J (C) ω × γ + ω × J (C) γ + γ × J (C) ω g + J fw g + J fw g + J fw To simplify this equation, we will now transform it back into the body frame, where we ∗ ˙ 9 Next, we recall the definitions of the combined inertia matrices J and can replace ω by ω. (C) J gfw and make two more assumptions. First, we assume that the CMG’s wheel frame W corresponds to the principal axes of the gimbal assembly’s and flywheel’s inertia tensors around C, hence the inertia matrices are diagonal when expressed in the wheel frame: (C) WJ fw

= diag{Jfw,ς , Jfw,o , Jfw,γ }

(2.42a)

(C) WJ g

= diag{Jg,ς , Jg,o , Jg,γ }

(2.42b)

J (C) fw ς = Jfw,ς ς

(2.43a)

In particular, we have:

(C)

J gfw γ = Jgfw,γ γ

(2.43b)

(C)

ς × J fw ς = Jfw,ς ς × ς = 0

(2.43c)

γ × J (C) gfw γ = Jgfw,γ γ × γ = 0

(2.43d)

Second, we assume that the flywheel is symmetric around its spin axis, hence Jfw,o = Jfw,γ . Using these assumptions and expressing the spacecraft rate in the wheel frame as ω = ως ς + ωo o + ωγ γ yields for the cross-product terms:

9 This works because the body frame rotates with ω = ω with respect to the inertial frame. Hence

B/I

∗ we have T BI IωB/I = T BI T˙ IB BωB/I + T IB Bω˙ B/I where we have used (2.11).

= [ BωB/I ×] BωB/I + Bω˙ B/I = Bω˙ B/I ,

2.3 Single-Body Spacecraft with Control Moment Gyros (C)

(C)

(C)

(C)

(C)

(C)

53

J fw γ × ς + γ × J fw ς + ς × J fw γ = Jfw,ς o J fw ω × ς + ω × J fw ς + ς × J fw ω = Jfw,ς ωγ o − Jfw,ς ωo γ   (C) (C) (C) J gfw ω × γ + ω × J gfw γ + γ × J gfw ω = Jgfw,ς − Jgfw,o + Jgfw,γ ωo ς + . . .   + Jgfw,ς − Jgfw,o − Jgfw,γ ως o With these simplifications, the angular momentum equation becomes l (P ) = J ω˙ + ω × J ω + h˙ fw ς + δ˙ hfw o + Jgfw,γ δ¨ γ + . . .   + Jgfw,ς − Jgfw,o + Jgfw,γ ωo δ˙ ς − hfw ωo γ + . . .  &  ' + hfw ωγ + Jgfw,ς − Jgfw,o − Jgfw,γ ως δ˙ o ,

(2.44)

def

where we have defined the flywheel angular momentum magnitude hfw = Jfw,ς ωfw . The terms in Eq. (2.44) have the following physical interpretations: • • •

• •

J ω˙ + ω × J ω is the torque related to the spacecraft acceleration including the gyric component. h˙ fw ς is the torque produced by the acceleration or deceleration of the flywheel. This is exactly the torque generated by a reaction wheel. δ˙ hfw o is the gyric torque caused by the gimbal rotation of the spinning flywheel. This component is the main actuation torque of the CMG to be transferred to the spacecraft. It is orthogonal to both the gimbal axis and the flywheel’s angular momentum. Jgfw,γ δ¨ γ is the torque contribution from the acceleration of the gimbal assembly including the flywheel around the gimbal axis The remaining three terms are gyric disturbance torques caused by the spacecraft’s rotation together with the flywheel and gimbal motions, projected on the axes of the CMG’s wheel frame.

2.3.2

Flywheel and Gimbal Dynamics

For the formulation of the CMG flywheel dynamics, we take the flywheel’s components of (2.44) and project them to the spin axis:

(C) (C) ς  J fw ω˙ + ς  ω × J fw ω + h˙ fw + Jfw,ς δ˙ ωo = lfw As with the angular rate, we can express the spacecraft’s angular acceleration in the wheel frame as ω˙ = (ω˙  ς ) ς + (ω˙  o) o + (ω˙  γ ) γ and then evaluate the products with

54

2 Satellite Motion Models

the inertia matrix. The torque applied to the flywheel, lfw , consists of the motor torque and friction losses. As with reaction wheels, the latter can be considered proportional to the flywheel rate (see Sect. 2.2.2): h˙ fw = −Jfw,ς (ω˙  ς) − Jfw,ς δ˙ ωo − Cf hfw + lfw,m

(2.45)

Equation (2.45) is almost identical to (2.30); the only difference is the second term on the right-hand side, which is a gyric disturbance torque caused by the gimbal motion in combination with the spacecraft’s rotation. As with reaction wheels, the actuation signal is the motor torque lfw,m , which has to compensate these disturbance torques in order to generate the desired angular momentum change of the flywheel. For the common case of constant-speed CMGs, the flywheel rate has to be kept constant, hence h˙ fw = 0. The gimbal dynamics are formulated analogously by projecting the gimbal assembly’s components of (2.44) to the gimbal axis:

(C) (C) γ  J gfw ω˙ + γ  ω × J gfw ω + Jgfw,γ δ¨ − hfw ωo = lg Evaluating the products with the inertia matrix as above and including a friction torque yields the gimbal dynamics: Jgfw,γ δ¨ = −Jgfw,γ (ω˙  γ ) + (Jgfw,o − Jgfw,ς ) ως ωo + hfw ωo − lg,f + lg,m

(2.46)

Apart from the friction torque lg,f , there are three disturbance torques caused by the spacecraft’s rotation. For typical flywheel rates of several thousand rpm, the contribution hfw ωo is the dominating disturbance, which depends on both the current angular rate of the spacecraft and the current orientation of the CMG.10 As mentioned above, the main advantage of CMGs is the generation of high gyric torques by rotating the spinning flywheel around the gimbal axis. This implies that the gimbal motor must have complete authority over the gimbal motion at all times in order to prevent large disturbance torques acting on the spacecraft. Assuming a maximal gimbal motor torque lg,max and considering only the dominating disturbance hfw ωo , we can derive an upper bound for the spacecraft rate: ( ( ( ( (lg ( = (Jgfw,γ δ¨ − hfw ωo ( ( ( ≤ Jgfw,γ (δ¨( + hfw |ωo | ( ( ≤ Jgfw,γ (δ¨( + hfw ω < lg,max

10 As the o-axis rotates with the gimbal assembly, the projection of the angular rate onto it depends on the current gimbal angle.

2.3 Single-Body Spacecraft with Control Moment Gyros

55

Therefore: δ¨max =

lg,max − hfw ωmax Jgfw,γ

ωmax =

lg,max − Jgfw,γ δ¨max hfw

CMG specifications include a maximum holding torque, under which a maximum gimbal acceleration δ¨max can be guaranteed. Therefore, this maximum holding torque corresponds to the maximum disturbance magnitude hfw ωmax and thus defines an upper bound on the spacecraft rate. If this angular rate limit is satisfied, the gimbal motor has full authority over the gimbal and can thus: • •

apply an acceleration of up to δ¨max on the gimbal and ensure that the gimbal rate does not exceed a maximum gimbal rate δ˙max .

2.3.3

Summary and CMG Array Dynamics

We will now summarize the rotational dynamics for a spacecraft with an N-CMG array. Generalizing (2.40) to N CMGs yields for the total angular momentum: h=Jω+

N # 

 hfw,k ς k + Jgfw,γ ,k δ˙k γ k = J ω + hCMG

k=1

Before generalizing (2.44) for N constant-speed CMGs, we will take one more assumption, namely that the gimbal assemblies of all CMGs are symmetric around their gimbal axes, i.e., Jgfw,ς = Jgfw,o . This yields simpler rotational equations of motion J ω˙ + ω × (J ω + hCMG ) + h˙ CMG = l (P )

(2.47)

with hCMG =

N # k=1

h˙ CMG =

N # k=1

hfw,k ς k +

N #

Jgfw,γ ,k δ˙k γ k

k=1

δ˙k hfw,k ok +

N #

Jgfw,γ ,k δ¨k γ k

k=1

In spacecraft applications, CMG flywheels spin with rates of several thousand rpm and gimbal rates are typically limited to several radians per second. Therefore, the angular momentum and torque contribution from the gimbal motion can often be neglected for

56

2 Satellite Motion Models

attitude control purposes, which yields the CMG array’s angular momentum equation hCMG =

N #

hfw,k ς k (δk )

(2.48)

˙ δ˙k ck (δk ) = C(δ) δ,

(2.49)

k=1

and the CMG array’s torque equation h˙ CMG =

N # k=1

def

where ck = hfw,k ok is the angular momentum derivative of the k-th CMG and   δ˙ = δ˙1 · · · δ˙N is a column matrix collecting all gimbal rates. The matrix C(δ) = [c1 (δ1 ) · · · cN (δN )] is called the Jacobian of the CMG array and plays an important role in the analysis of singularities (Sect. 2.3.4) and actuator commanding (Sect. 4.2).

2.3.4

Singularities

Consider the four-CMG roof array shown in Fig. 2.3 and  all flywheels have  assume that the same angular momentum magnitude hfw . Let δ˙ = δ˙1 δ˙2 δ˙3 δ˙4 be the gimbal rates commanded to the CMG array. Then its output torque expressed in the coordinate frame from Fig. 2.3 is: ⎛ h˙ CMG =

4 # k=1

ck δ˙k = hfw

⎞ 0 ⎜ ˙ ⎟ ⎝−δ1 − δ˙2 ⎠ −δ˙3 − δ˙4

Clearly, the CMG array cannot generate any torque around the x-axis as all its momentum derivatives ck are confined to the yz-plane. Such a situation is called a singularity and it poses one of the main challenges of CMG technology due to the loss of three-axis controllability of the spacecraft. At this point, it is important to emphasize the difference to the coordinate singularities we encountered in Sect. 2.1: The singularities connected with attitude parametrizations can be avoided by choosing a different parametrization.11 One could say that at such a coordinate singularity, the attitude “physically exists”, but cannot be described using the current mathematical tool. CMG singularities, on the other hand, are geometric singularities: They exist regardless of their mathematical description. In Fig. 2.3, for instance, it is physically impossible for the CMG array to generate a torque around the x-axis, hence every correct mathematical description of this situation must be singular. Conversely, any mathematical description of the situation in Fig. 2.3 that is singularity-free must be wrong. 11 This other parametrization then may or may not have coordinate singularities of its own.

2.3 Single-Body Spacecraft with Control Moment Gyros

57

Fig. 2.3 Four-CMG roof array

2 2 2 1 1

1 4

4 3 4 3

3

Due to their importance, CMG singularities have been studied for decades and are treated thoroughly in e.g. [5, 7, 8, 11]. Within the scope of this book, we can only provide a brief overview, focusing on the practically relevant aspects of singularity analysis, visualization, and classification. For agile spacecraft, these aspects drive the sizing and array architecture of CMG actuators via a trade-off between the CMG array’s angular momentum and torque capacity on one side and the number and severity of singularities on the other side. Regarding the severity of singularities, the question of utmost practical relevance is whether it is possible to avoid or escape singularities without disturbing the spacecraft, i.e., without applying a torque. Singularity Analysis First, consider the singular value decomposition (SVD) of the CMG array Jacobian: C = U Σ V $ where U = u1 matrices and

u2

% $ u3 ∈ R3×3 and V = v 1 ⎡ σ1 ⎢ Σ =⎣0 0

0 σ2 0

0 0 σ3

% · · · v N ∈ RN×N are orthonormal ⎤

⎥ 03×(N−3) ⎦

58

2 Satellite Motion Models

contains the singular values σ1 ≥ σ2 ≥ σ3 ≥ 0. Clearly, the Jacobian has rank r ≤ 3, hence we can express (2.49) as h˙ CMG = C δ˙ =

r # i=1

˙ σi (v  i δ) ui

and the right singular vectors v r+1 through v N form a basis of the (N − r)-dimensional nullspace of C. This means that we can construct a null motion $ def δ˙ n = B n ♣ = v r+1

% · · · vN ♣

(2.50)

with an arbitrary ♣ ∈ R(N−r)×1 such that C δ˙ n = 0. Mathematically, singularities manifest themselves in the Jacobian losing rank, i.e., σ3 = 0 (and sometimes even σ2 = 0 as well). In that case, all the ck are coplanar (or collinear) and there exists at least one direction us that is orthogonal to all the ck : c k us = 0 ∀k = 1, . . . , N

(2.51)

For our exemplary configuration shown in Fig. 2.3, the singular direction is us = x. For the visualization of the singularities, we follow [8] and assume for the moment that us = γ k , i.e., the singular direction is not parallel to any gimbal axis. Then for any given us , we can find the corresponding singular angular momentum derivative by demanding cs,k (us ) = ± hfw

γ k × us γ k × us

(2.52)

for all CMGs. Because ck × γ k = hk , the corresponding angular momentum of the k-th CMG is hs,k (us ) = ± hfw

γ k × us × γk γ k × us

(2.53)

and of the whole CMG array: hs (us ) =

N # k=1

hs,k (us ) =

N # k=1

k hfw

γ k × us × γk γ k × us

(2.54)

with k = sgn{h s,k us }. If us is parallel to the i-th gimbal axis, then the Eqs. (2.52) through (2.54) remain valid for all k = i and any gimbal angle δi satisfies the singularity condition (2.51). This means that singularities can occur for every direction in space.

2.3 Single-Body Spacecraft with Control Moment Gyros

59

2

x

1

0

−1 2 −2 −2

0 −1

0

y

z 1

2 −2

Fig. 2.4 0h internal singularity of a four-CMG roof array

The k = ±1 in (2.54) allow for 2N different sign patterns (or signatures) and each signature defines a singular surface in the three-dimensional angular momentum space. In our example from Fig. 2.3, us = x and = {+, +, −, −}, which is also called a 0h ) singularity because N k=1 k = 0. The entire 0h singular surface for a four-CMG roof array is shown in Fig. 2.4. It is important to emphasize that hs is a CMG array angular momentum for which a singular gimbal angle configuration exists. However, normally at least four CMGs are used for three-axis control, hence the same angular momentum can be realized by infinitely many gimbal angle configurations, some of which may be non-singular. The only exception is the angular momentum envelope (shown in Fig. 2.5 for a four-CMG roof array), which corresponds to the maximum angular momentum the array can generate in a given direction.

60

2 Satellite Motion Models

Fig. 2.5 4h singularity (angular momentum envelope) of a four-CMG roof array

4

x

2

0

−2 2

−4 −2

0

y

0 2 −2

z

The singular gimbal angle configuration for us can be computed by defining an initial configuration hk0 , ck0 and using basic trigonometry: sin δs,k = k cos δs,k

c k0 us hfw γ k × us

h k0 us = k hfw γ k × us

(2.55)

Geometrically, (2.55) also describes 2N singular surfaces, yet this time in the Ndimensional gimbal angle space, which is difficult to visualize for N > 3 (a visualization for a three-CMG array for two-axis attitude control can be found in [8]). After identifying the singular surfaces of a CMG array, it remains to determine which of them allow an escape without applying torque to the spacecraft, i.e., using a null motion. To this end, Margulies and Aubrun [8] introduced the following classification of singular surfaces, which have been expanded by Bedrossian et al. [3]: Consider a singular gimbal angle configuration δ s with the corresponding singular direction us and a nearby non-singular gimbal angle configuration δ. Using a second order

2.3 Single-Body Spacecraft with Control Moment Gyros

61

Taylor series, the difference between the corresponding angular momenta is: h = h(δ) − h(δ s ) ≈

N # ∂hk k=1

=

N # k=1

∂δk

δk +

cs,k δk −

N 1 # ∂ 2 hk δk2 2 2 ∂δ k k=1

N 1 # hs,k δk2 2 k=1

The singularity can be classified using (2.51) and the following scalar form: u s h =

N #

N 1 #  1 c u δ − hs,k us δk2 = − δ  P δ , s k s,k 2    2 k=1 k=1

(2.56)

=0

where P = diag{h s,k us } is called the singularity projection matrix. A (semi-)definite projection matrix characterizes an external singularity, whereas for an indefinite P , the singularity is internal. At an external singularity, all angular momentum vectors are aligned end-to-end, hence there exists no null motion. As a result, external singularities can only be escaped by producing a torque. Angular momentum states on internal singular surfaces, on the other hand, can be realized by infinitely many gimbal angle combinations, hence there may exist non-singular configurations with the same angular momentum. By definition, a null motion does not change the angular momentum of the CMG array, hence we can insert (2.50) into (2.56): −

1 1   1  δ  n P δ n = − ♣ B n P B n ♣ = − ♣ S ♣ = 0 , 2 2 2

(2.57)

where the matrix S = B  n P B n is called the singularity-definition matrix. A sign-definite S corresponds to an elliptic quadratic form where (2.57) has only the trivial solution ♣ = 0. Therefore, there are no null motions around elliptic singularities. If S is semi-definite or indefinite, there exist non-trivial solutions of (2.57) and the singularity is called hyperbolic.12 Therefore, there exist null motions around hyperbolic singularities. If at least one null motion leads to a non-singular state, the singularity is called passable (or “non-degenerate” [3]). However, there are also cases where all null motions lead to singular states, in which case the singularity is impassable (or “degenerate” [3]).

12 This is despite the fact that semi-definite matrices yield parabolic quadratic forms.

62

2 Satellite Motion Models

Fig. 2.6 Spacecraft and test mass

2.4

Multi-Body Spacecraft with Test Mass

In this section, we consider a spacecraft that consists of two rigid bodies, namely the main spacecraft and a cubic test mass contained inside as shown in Fig. 2.6. A notable example for such a spacecraft configuration is the LISA Pathfinder mission that contains two free flying test masses [1, 2, 4]. The dynamic model is derived following d’Alembert’s principle, a common method used for multi-body systems. In its general form, it is given by # ∂ r˙  i

i ∗∗

∂ x˙

(p˙ i − f i ) +

# ∂ω i

i

∂ x˙



(hi − l i ) = 0 ,

(2.58)

where p˙ i = mi zi is the derivative of the linear momentum of the i-th body (usually expressed in the inertial frame, using the i-th body’s center of mass as reference point) and ∗ hi = J i ω˙ i + ωi × J i ωi is the derivative of the i-th body’s angular momentum around its center of mass, typically expressed in its body frame. The applied forces and torques are denoted by f i and l i , respectively, and x˙ is the vector of generalized velocities. Returning to Fig. 2.6, we choose the reference point P to be the center of mass of the spacecraft main body. The point C is the center of the test mass cage, i.e., the nominal test mass position, and M is the center of mass of the test mass. Note that these definitions differ slightly from those of the gyrostat in the previous sections. In order to derive the equations of motion, the generalized coordinates have to be defined first, along with the kinematics for each body. Then, the Jacobian matrices can be evaluated and the dynamics equations can be formulated.

2.4 Multi-Body Spacecraft with Test Mass

2.4.1

63

Equations of Motion

Generalized Velocities The generalized velocities are chosen as ⎛

Ir˙ B



⎜ ω ⎟ ⎟ ⎜ x˙ = ⎜ B B/I ⎟ , ⎝ Cr˙ M ⎠ MωM/B where Ir˙ B is the inertial linear velocity of the spacecraft body reference point P , expressed in the inertial frame and BωB/I is the absolute angular rate of the spacecraft main body, expressed in the body frame. The test mass velocities are expressed relative to the cage, hence Cr˙ M is the relative linear velocity and MωM/B is the angular rate of the test mass, both relative to the spacecraft and expressed in the cage frame and the test mass frame, respectively. Next, the test mass kinematics have to be formulated in order to evaluate the Jacobian matrices.

Test Mass Kinematics The absolute angular rate of the test mass is: Mω M/I

=

MωB/I

+ Mω M/B

(2.59)

For the angular acceleration, we express ωM/I in the inertial frame and take the derivative with respect to time: ˙ M/I Iω

= T˙ IB BωB/I + T IB Bω˙ B/I + T˙ IM MωM/B + T IM Mω˙ M/B

Premultiplying by T MI yields the absolute angular acceleration of the test mass, expressed in the test mass frame: T MI Iω˙ M/I = T MB T BI T˙ IB BωB/I + T MI T IB Bω˙ B/I + T MI T˙ IM       [ BωB/I ×]

˙ M/B Mω

+ Mω˙ M/B

[ MωM/I ×]

= T MB Bω˙ B/I + MωB/I × Mω M/B + Mω˙ M/B , where we have used (2.11) and (2.59). To formulate the position, velocity, and acceleration of the test mass, the differentiation has to be performed in the inertial frame while considering that r C and r M are available in

64

2 Satellite Motion Models

the body frame and cage frame, respectively: Iz

= Ir B + T IB Br C + T IC Cr M   Iz = Ir˙ B + T IB BωB/I × Br C + Br M + T IC Cr˙ M

  ∗∗ ˙ B/I ×] + [ Bω B/I ×]2 Br C + Br M +2 T IC CωB/I × Cr˙ M +T IC Cr¨ M Iz = Ir¨ B + T IB [ Bω ∗

Jacobian Matrices With the above relative kinematics, the Jacobian matrices are straightforward to calculate: ∗ $ % ∂ Ir B = I 0 0 0  ∂ x˙ $ % ∂ Bω B/I = 0 I 0 0 ∂ x˙  ∗ $ ∂ Iz = I −T IB [( Br C + Br M )×] T IC ∂ x˙  % $ ∂ Mω M/B , = 0 I 0 T MB ∂ x˙ 

% 0

where the identity matrices I and zero matrices 0 are all of dimension 3 × 3. Equations of Motion The equation of motion can now be formulated by inserting the generalized velocities and the Jacobians into (2.58): ⎡ ⎤ ⎤ ⎡ I I ⎢ ⎥ ⎥  ⎢  ∗∗ ∗∗ ⎢0⎥ ⎢[( r + r )×] T BI ⎥  0 = ⎢ ⎥ mB Ir B − If B + ⎢ B C B M ⎥ mM Iz − If M + . . . ⎣0⎦ ⎦ ⎣ T CI 0 0 ⎡ ⎤ 0 ⎢ ⎥

⎢I ⎥ + ⎢ ⎥ BJ B Bω˙ B/I + Bω B/I × BJ B Bω B/I − Bl B + . . . ⎣0⎦ 0 ⎡ ⎤ 0 ⎢ ⎥

∗ ⎢T ⎥ + ⎢ BM ⎥ MJ M MωM/I + Mω M/I × MJ M Mω M/I − Ml M ⎣ 0 ⎦ I

2.4 Multi-Body Spacecraft with Test Mass

65

The forces If B and If M are expressed in the inertial frame, whereas the torques Bl B and Ml M are expressed in their respective body frames. Next, the expressions of the relative kinematics are inserted in order to get accelerations of the generalized coordinates only. This results in the standard form of the equations of motion: M(x) x¨ + g(x, x) ˙ = k(x, x, ˙ t) ,

(2.60)

The generalized accelerations are denoted by x, ¨ M(x) is the mass matrix, g(x, x) ˙ contains (in general) all dissipative and gyric effects as well as conservative and non-conservative ˙ t) contains all generalized applied forces. In our case, the restoring forces,13 and k(x, x, components of (2.60) are ⎛

Ir¨ B



⎟ ⎜ ω˙ ⎟ ⎜ x¨ = ⎜ B B/I ⎟ , ⎝ Cr¨ M ⎠ ˙ M/B Mω and: ⎡

(mB + mM ) I ⎢ ⎢ ⎢mM [( r + r )×] T BI ⎢ B C B M M(x) = ⎢ ⎢ mM T CI ⎢ ⎣ 0

−mM T IB [( B r C + Br M )×] BJ B

+ BJ M − mM [( B r C + Br M )×]2 −mM T CB [( Br C + Br M )×] MJ M

T MB

mM T IC mM [( B r C + Br M )×] T BC mM I 0

⎤ 0

⎥ ⎥ T BM MJ M ⎥ ⎥ ⎥ ⎥ 0 ⎥ ⎦ MJ M

⎞ mM T IB [ BωB/I ×]2 Br C + Br M + 2 mM T IC CωB/I × Cr˙ M ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜   ⎟ ⎜mM [( r + r )×] [ ω ×]2 r + r + 2 mM [( r + r )×] T ω × r ˙ . . . B C B M B B/I B C B M B C B M BC C B/I C M ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ . . . + BωB/I × BJ B BωB/I + T BM MωM/I × MJ M MωM/I + T BM MJ M MωB/I × MωM/B ⎟ g(x, x) ˙ =⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜   ⎟ ⎜ 2 ⎟ ⎜ mM T CB [ B ωB/I ×] Br C + Br M + 2 mM CωB/I × Cr˙ M ⎟ ⎜ ⎟ ⎜ ⎠ ⎝ J ω × ω + ω × J ω M M M B/I M M/B M M/I M M M M/I ⎛







⎞ If B + If M ⎜ ⎟ ⎜ ⎟ ⎜[( r + r )×] T ⎟ ⎜ B C B M BI If M + Bl B + T BM Ml M ⎟ k(x, x, ˙ t) = ⎜ ⎟ ⎜ ⎟ T CI If M ⎜ ⎟ ⎝ ⎠ l M M

13 The linearization of (2.60) around an equilibrium state yields (in the most general case) the damping matrix, matrix of gyric forces, stiffness matrix and matrix of circulatory forces, which are discussed in detail in textbooks on classical mechanics such as [9].

66

2 Satellite Motion Models

Equation (2.60) can now be simplified by using the fact that each row i satisfies M i x¨ + g i − k i = 0. Therefore, we can multiply the third row by T IC from the left and subtract it from the first row, which yields the translational motion of the spacecraft:   M 1 x¨ + g 1 − k 1 − T IC M 3 x¨ + g 3 − k 3 = mB Ir¨ B − If B = 0

(2.61)

Multiplying the third row of (2.60) by [( Br C + Br M )×] T BC and the fourth row by T BM from the left and subtracting both from the second row yields the angular momentum equation of the spacecraft:   0 = M 2 x¨ + g 2 − k 2 − [( Br C + Br M )×] T BC M 3 x¨ + g 3 − k 3 . . .   − T BM M 4 x¨ + g 4 − k 4

(2.62)

= BJ B Bω˙ B/I + Bω B/I × BJ B Bω B/I − Bl B The first term of the third row of (2.60) is mM T CI Ir¨ B , which is equivalent to mM mB T CI mB Ir¨ B . From (2.61), we have mB Ir¨ B = If B , hence we can write mM T CI Ir¨ B = mM mB Cf B . Substituting this into the third row of (2.60) then yields, along with (2.61), (2.62), and the unchanged fourth row of (2.60), again an equation in the same form: M(x) x¨ + g(x, x) ˙ = k(x, t) ,

(2.63)

but with the following parametrizations of its components: ⎡

mB I ⎢ ⎢ 0 M(x) = ⎢ ⎣ 0 0 ⎛

0 BJ B −mM T CB [( Br C + Br M )×] MJ M T MB

0 0 mM I 0

⎤ 0 ⎥ 0 ⎥ ⎥ 0 ⎦ MJ M

⎞ 0 ⎜ ⎟ ⎜ ⎟ BωB/I × BJ B Bω B/I g(x, x) ˙ =⎜ ⎟ ⎝mM T CB [ Bω B/I ×]2 Br C + Br M + 2 mM Cω B/I × Cr˙ M ⎠ MJ M MωB/I × Mω M/B + MωM/I × MJ M MωM/I ⎞ ⎛ If B ⎟ ⎜ ⎟ ⎜ Bl B k(x, t) = ⎜ ⎟ mM ⎝ Cf M − mB Cf B ⎠ Ml M

References

67

In addition, the inertial attitude of the spacecraft main body and the test mass attitude with respect to the test mass cage can be described by: q˙ BI q˙ MB



−[ωB/I ×] ωB/I q BI −ω 0 B/I

1 −[ωM/B ×] ω M/B = q MB 2 −ω 0 M/B 1 = 2

(2.64)

(2.65)

Remember that ωM/B is the relative rate of the test mass with respect to the spacecraft and therefore, q MB represents the relative attitude of the test mass.

2.4.2

Discussion

The first two block rows of (2.63) simply correspond to the equations of translation and rotation of a single rigid spacecraft. A major linear coupling from the spacecraft motion to the relative test mass motion is introduced by the vector Br C + Br M , i.e., when the test mass is nominally located outside of the spacecraft’s center of mass. The last block row of (2.63) is the angular momentum equation of the test mass. It has to account for the absolute angular rate derivative and therefore terms with ω˙ B/I and ω B/I occur. The forces and torques on the right-hand side of (2.63) are not independent. In fact, they provide a coupling between test mass and spacecraft. In general, they are also dependent on the relative state. Steady state forces that have a spatial gradient introduce a stiffness. They may arise from autogravity, magnetic, or electrical fields. The third matrix row of (2.63) is the basis for an accelerometer. This is described in detail in Sect. 6.1.

References 1. Antonucci, F., Armano, M., Audley, H., Auger, G., Benedetti, M., Binetruy, P., Bogenstahl, J., Bortoluzzi, D., Bosetti, P., Brandt, N., Caleno, M., Cañizares, P., Cavalleri, A., Cesa, M., Chmeissani, M., Conchillo, A., Congedo, G., Cristofolini, I., Cruise, M., Danzmann, K., Marchi, F.D., Diaz-Aguilo, M., Diepholz, I., Dixon, G., Dolesi, R., Dunbar, N., Fauste, J., Ferraioli, L., Ferrone, V., Fichter, W., Fitzsimons, E., Freschi, M., Marin, A.G., Marirrodriga, C.G., Gerndt, R., Gesa, L., Gilbert, F., Giardini, D., Grimani, C., Grynagier, A., Guillaume, B., Guzmán, F., Harrison, I., Heinzel, G., Hernández, V., Hewitson, M., Hollington, D., Hough, J., Hoyland, D., Hueller, M., Huesler, J., Jennrich, O., Jetzer, P., Johlander, B., Karnesis, N., Killow, C., Llamas, X., Lloro, I., Lobo, A., Maarschalkerweerd, R., Madden, S., Mance, D., Mateos, I., McNamara, P.W., Mendes, J., Mitchell, E., Monsky, A., Nicolini, D., Nicolodi, D., Nofrarias, M., Pedersen, F., Perreur-Lloyd, M., Plagnol, E., Prat, P., Racca, G.D., Ramos-Castro, J., Reiche, J., Perez, J.A.R., Robertson, D., Rozemeijer, H., Sanjuan, J., Schleicher, A., Schulte, M., Shaul,

68

2 Satellite Motion Models

D., Stagnaro, L., Strandmoe, S., Steier, F., Sumner, T.J., Taylor, A., Texier, D., Trenkel, C., Tu, H.B., Vitale, S., Wanner, G., Ward, H., Waschke, S., Wass, P., Weber, W.J., Ziegler, T., Zweifel, P.: The LISA Pathfinder mission. Classical Quantum Gravity 29(12), 124014 (2012). https://doi. org/10.1088/0264-9381/29/12/124014 2. Armano, M., Audley, H., Auger, G., Baird, J., Binetruy, P., Born, M., Bortoluzzi, D., Brandt, N., Bursi, A., Caleno, M., Cavalleri, A., Cesarini, A., Cruise, M., Danzmann, K., Diepholz, I., Dolesi, R., Dunbar, N., Ferraioli, L., Ferroni, V., Fitzsimons, E., Freschi, M., Gallegos, J., Marirrodriga, C.G., Gerndt, R., Gesa, L.I., Gibert, F., Giardini, D., Giusteri, R., Grimani, C., Harrison, I., Heinzel, G., Hewitson, M., Hollington, D., Hueller, M., Huesler, J., Inchauspé, H., Jennrich, O., Jetzer, P., Johlander, B., Karnesis, N., Kaune, B., Korsakova, N., Killow, C., Lloro, I., Maarschalkerweerd, R., Madden, S., Mance, D., Martín, V., Martin-Porqueras, F., Mateos, I., McNamara, P., Mendes, J., Mendes, L., Moroni, A., Nofrarias, M., Paczkowski, S., PerreurLloyd, M., Petiteau, A., Pivato, P., Plagnol, E., Prat, P., Ragnit, U., Ramos-Castro, J., Reiche, J., Perez, J.A.R., Robertson, D., Rozemeijer, H., Russano, G., Sarra, P., Schleicher, A., Slutsky, J., Sopuerta, C.F., Sumner, T., Texier, D., Thorpe, J., Trenkel, C., Tu, H.B., Vetrugno, D., Vitale, S., Wanner, G., Ward, H., Waschke, S., Wass, P., Wealthy, D., Wen, S., Weber, W., Wittchen, A., Zanoni, C., Ziegler, T., Zweifel, P.: The LISA Pathfinder mission. J. Phys. Conf. Ser. 610, 012005 (2015). https://doi.org/10.1088/1742-6596/610/1/012005 3. Bedrossian, N.S., Paradiso, J., Bergmann, E.V., Rowell, D.: Redundant single gimbal control moment gyroscope singularity analysis. J. Guid. Control Dynam. 13(6), 1096–1101 (1990). https://doi.org/10.2514/3.20584 4. European Space Agency: Website of the LISA Pathfinder mission. https://sci.esa.int/web/lisapathfinder/home. Retrieved 17 Jun 2021 5. Kurokawa, H.: A Geometric Study of Single Gimbal Control Moment Gyros: Singularity Problems and Steering Law. Tech. rep., Mechanical Engineering Laboratory 6. Leve, F.A.: Scaled control moment gyroscope dynamics effects on performance. Acta Astronautica 110, 77–88 (2015). https://doi.org/10.1016/j.actaastro.2015.01.012 7. Leve, F.A., Hamilton, B.J., Peck, M.A.: Spacecraft Momentum Control Systems, Space technology library, vol. 1010. Springer, Cham and Heidelberg and New York and Dordrecht and London (2015) 8. Margulies, G., Aubrun, J.N.: Geometric theory of single-gimbal control moment gyro systems. J. Astronaut. Sci. 26(2), 159–191 (1978) 9. Müller, P.C.: Stabilität und Matrizen. Springer, Berlin, Heidelberg (1977). In German 10. Newton, I.: Philosophiae Naturalis Principia Mathematica: Facsimile of third edition, vol. 1 and 2. Harvard University Press (1972) 11. Wie, B.: Singularity analysis and visualization for single-gimbal control moment gyro systems. J. Guid. Control Dynam. 27(2), 271–282 (2004). https://doi.org/10.2514/1.9167 12. Wie, B.: Space Vehicle Dynamics and Control, 2 edn. AIAA education series. American Inst. of Aeronautics and Astronautics, Reston, VA (2008)

3

Rotational State Determination

Abstract

This chapter provides an introduction to attitude determintation and rate estimation. We focus on principles and general ideas rather than advanced algorithms. The latter can be found in many excellent references, some of them are listed in the literature section, e.g., publications by Markley or Crassidis. Attitude determination is usually based on sensors that provide unit vector measurements. We present basic algorithms for several application cases. Rate estimation can be supported by attitude measurements, which is addressed next. Finally, a brief introduction to observation and filtering for attitude and rate estimation is presented.

3.1

Attitude Determination

3.1.1

Concepts and the Two Unit Vector Case

General Concept The attitude of a spacecraft is always expressed with respect to a reference attitude. Both spacecraft and reference attitude can be represented as right-handed coordinate frames and the attitude can formally be specified as a transformation matrix1 T BR between these two frames. The basic measurement for spacecraft attitude determination is a directional measurement, for example the direction to a star. A direction in space can be expressed as a three-dimensional unit vector.2 Any sensor that measures such a direction is mounted on the spacecraft, therefore the unit vector measurement is given in the spacecraft body frame. 1 Equivalently, it can also be expressed as quaternion or as rotation sequence, see Sect. 2.1.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_3

69

70

3 Rotational State Determination

Fig. 3.1 Principle of attitude determination

The attitude determination principle is illustrated for a single-axis attitude in Fig. 3.1. On the left, a reference frame is shown, corresponding to the nominal attitude of the spacecraft. √ In this√simple example, the reference direction can be read from the figure: r  = ( 2/2 , 2/2 , 0). In general, the associated reference direction can always be computed. Whenever the spacecraft body frame deviates from its reference attitude, the direction measurement in the spacecraft body frame will be different. This is shown on the right side of Fig. 3.1. For example, with a negative rotation around the zR -axis, the measured unit vector would be m ≈ (sin 30◦ , cos 30◦ , 0). This effect is used for determining the attitude. The general relation between a reference unit vector r and a measured unit vector m in the spacecraft body frame is m = T BR r , where T BR represents the attitude. The vector r is the vector that would be measured if the spacecraft was perfectly aligned with the reference frame and without any measurement disturbances. In Fig. 3.2, we can see that any spacecraft rotation around the reference direction does not alter its measurement. This means that with one single unit vector measurement, the attitude cannot be specified unambiguously. Therefore, at least two unit vector measurements are necessary to determine the attitude. Two unit vectors contain four independent pieces of information, which exceeds the number of three unknown attitude parameters. The remaining problem is now to compute the matrix T BR from pairs of measured unit vectors mi and computed reference vectors r i . Before presenting approaches for solving this problem, we will first discuss some common unit vector measurements and reference computations.

2 A three-dimensional unit vector contains two independent parameters because the three components fulfill one constraint, namely the unit length.

3.1 Attitude Determination

71

Fig. 3.2 Ambiguous attitude with a single unit vector measurement

Unit Vector Measurements The most common sensors that provide unit vector measurements were already introduced in Sect. 1.2.3. A list of measured unit vectors is summarized here. All unit vector measurements can be expressed in or converted to the spacecraft body frame. Earth vector Provided by an infrared Earth sensor that detects the Earth’s horizon. Sun vector Measured by a Sun sensor that usually consists of several sensor heads distributed on the spacecraft. Star directions Several (tens or hundreds of) star directions can be obtained from a star camera. The stars are identified via comparison with a star catalog. Geomagnetic field direction A three-axis magnetometer measures the Earth’s magnetic field, assuming the spacecraft magnetic field to be negligible or removed by calibration. Then, the measurement is normalized to obtain a unit vector. Reference Vectors In general, the computation of reference directions consists of three steps. First, the reference coordinate system must be defined, usually with respect to the inertial coordinate system. Next, the reference directions are computed from models. These models are given in different coordinate systems, see also Table 3.1. The transformations between these systems and the reference system must be established. Finally, the reference direction of each potential measurement must then be transformed into the reference frame. An example of a practically relevant reference frame is the Earth pointing reference frame, sometimes referred to as the local-vertical local-horizontal (LVLH) frame. It is defined such that the zR -axis points towards the Earth, the y R -axis is the negative orbit Table 3.1 Models of unit vector measurements Reference direction

Model system

Remarks

Sun Earth Stars Geomagnetic field

Inertial Earth pointing Inertial Earth-fixed

Time-varying over one year Time-invariant, usually (0 , 0 , 1) Time-invariant Time-invariant

72

3 Rotational State Determination

Fig. 3.3 Earth pointing reference frame

normal, and the x R -axis completes the right hand frame. These axes can be computed from position and velocity vectors, r P and r˙ P , respectively, given in the inertial frame: zR = −

rP r P 

r˙ P × r P r˙ P × r P  y R × zR xR = y R × zR 

yR =

The transformation matrix from the inertial frame to the reference frame is then given by ⎡ T RI =



x ⎢I R ⎥ ⎦ ⎣ Iy R  z I R

The Earth pointing LVLH reference frame is illustrated in Fig. 3.3. It can be seen that the Earth vector reference is the zR axis, which is constant. The Sun vector reference, i.e. the Sun vector expressed in the reference frame, can be computed from a model given in the inertial frame (see Table 3.1), which is then transformed into the reference frame. We see already from Fig. 3.3 that the Sun direction expressed in the reference frame is a function of the spacecraft position and the inertial Sun direction. In general, the computation of a reference system is application specific and an appropriate choice may well be the inertial reference system, in which case T RI = I . A Simple Algorithm for Two Unit Vector Measurements A simple but efficient and illustrative algorithm for attitude determination is the TRIAD algorithm [1]. It is applicable for two unit vector measurements. The idea is to construct

3.1 Attitude Determination

73

the same right-handed frame, i.e. three unit vectors3 in two different coordinate systems, the reference system and the spacecraft body system. These two frames are related to each other by the matrix T BR such that it can be calculated easily. This is shown in the following. We assume two directional sensors and thus, two pairs of unit vectors. From sensor 1 we have a reference and a measurement vector r 1 and m1 , respectively, and the same from sensor 2, i.e., r 2 and m2 . With the reference vectors we can construct a right handed frame: uR = r 1 vR =

r1 × r2 r 1 × r 2 

(3.1)

wR = uR × v R Similarly, from the measurement vectors we get uM = m1 vM =

m1 × m2 m1 × m2 

(3.2)

wM = uM × v M The two sets of vectors are related to each other by via the matrix T BR : 

uM

vM

 wM = T BR uR

vR

wR



or written compactly: M = T BR R

(3.3)

The matrices M and R are orthogonal, hence (3.3) can be solved for T BR without performing a matrix inversion: T BR = M R  From the definitions in (3.1) and (3.2), it can be seen that the two unit vector measurements must not be collinear, otherwise the denominator r 1 × r 2  would become zero. In this case, both sensors measure the same two angles.

3 In other words, a triad of mutually orthogonal unit vectors, which gave the approach its name.

74

3 Rotational State Determination

The above solution of T BR has the property that the transformation of the first unit vector pair {r 1 , m1 } is always exact. This can be verified as follows:



m1 = T BR r 1 = uM 

= m1 

= m1

vM

vM



wM

⎤ u R ⎢ ⎥ ⎣ vR ⎦ r 1 w R ⎡

vM

wM



⎤ r 1 r1 ⎥ (r 1 × r 2 ) /r 1 × r 2 ⎦ (r 1 × v R ) r 1

⎢ wM ⎣r  1



⎡ ⎤ 1 ⎢ ⎥ ⎣0⎦ = m1 0

This means that the algorithm relies fully on the first unit vector pair (index 1). Therefore, in practice the more accurate sensor should always be associated with the first unit vector pair. Small Angle Version A further simplified version can be formulated when the attitude angles are small. Using small angle approximations in (2.5), the matrix T BR can be written as ⎡

T BR

1 ⎢ ≈ I − [ϕ×] = ⎣−ψ θ

ψ 1 −φ

⎤ −θ ⎥ φ⎦ 1

 with the attitude vector ϕ = φ θ ψ . Using the vector pair {r, m}, this can also be written as m = r − ϕ × r, which is illustrated in Fig. 3.4. The attitude vector can now be split into two components, orthogonal and parallel to the first reference vector r 1 , i.e. ϕ = ϕ ⊥ + ϕ  . This yields for the vector pair of the first sensor:

m1 = I − ([ϕ  ×] + [ϕ ⊥ ×]) r 1 = (I − [ϕ ⊥ ×]) r 1 Fig. 3.4 Small angle rotation  u

3.1 Attitude Determination

75

Multiplying by [r 1 ×] from the left yields:

 r 1 × m1 = [r 1 ×]2 ϕ ⊥ = r 1 r  − r r I ϕ ⊥ = −ϕ ⊥ 1 1 1 Therefore, the orthogonal component can be calculated with ϕ ⊥ = m1 × r 1

(3.4)

and the remaining parallel part is given by: ϕ = r 1r  1ϕ

(3.5)

Since the direction r 1 is known, the remaining unknown is the scalar magnitude r  1 ϕ, which can be computed by using the second pair {m2 , r 2 }. From m2 = T BR r 2 , we have

m2 = I − [ϕ ⊥ ×] + [ϕ  ×] r 2 , which can be rearranged to: m2 − r 2 + ϕ ⊥ × r 2 = r 2 × ϕ  = r 2 × r 1 (r  1 ϕ) This is an over-determined system of equations for the scalar unknown r  1 ϕ, for which the least squares solution is r 1ϕ =

(r 2 × r 1 ) (m2 − r 2 + ϕ ⊥ × r 2 ) r 2 × r 1 2

(3.6)

Equations (3.4), (3.5), and (3.6) are the solution to the small angle attitude determination problem. Again, from the denominator we see that there is no solution when the two direction are collinear. In that case, the two sensors simply measure the same two angles. Whenever the two reference vectors are close to be collinear, there is a large amplification of measurement errors.

Example of Earth Pointing Spacecraft Yaw determination of an Earth pointing spacecraft is a common problem that can be solved with the small angle approach shown above. We assume an attitude reference frame that coincides with the orbit frame (LVLH frame), hence the zR -axis points towards the Earth. Unit vector measurements come from an Earth sensor and one more sensor, typically a Sun sensor. Now we assume small attitude deviations and apply the equations above.

76

3 Rotational State Determination

The first sensor (index 1) shall be the Earth sensor, hence the reference vector r 1 is

r1 = 0 0

 1

Under the assumption of small angles, the corresponding Earth sensor output can be described in terms of roll and pitch angle:

m1 = −θ

φ

1



The Sun reference and measurement directions have no specific form and must be written generically as r 2 = Rs = m2 = Bs =



R sx



B sx

R sy

R sz

B sy

B sz

 

Applying (3.4) yields for the orthogonal attitude: ⎡

0 ⎢ ϕ ⊥ = m1 × r 1 = ⎣ 1 −φ

−1 0 −θ

⎤⎛ ⎞ ⎛ ⎞ φ 0 φ ⎥⎜ ⎟ ⎜ ⎟ = θ ⎦ ⎝0⎠ ⎝ θ ⎠ , 0 1 0

which can be verified easily by illustration. The third component is zero since any rotation around r 1 cannot be detected by the Earth sensor measurement m1 . The parallel component is the remaining yaw angle, according to (3.5): ⎛ ⎞ 0 ⎜ ⎟ ϕ = r 1r  ϕ = 0⎠ ⎝ 1 ψ Using (3.6), the unknown angle ψ can be computed as ψ = r 1ϕ =

R sy (B sx

− R sx + θ R sz ) − R sx (B sy − R sy − φ R sz ) 2 R sx

+ R sy2

This provides an easy to implement yaw angle determination using Earth and Sun sensor measurements. It fails whenever R sx2 + R sy2 = 0, which means that the Sun vector lies in the orbit plane (R sy = 0) and is collinear with r 1 , the Earth pointing direction (R sx = 0).

3.1 Attitude Determination

77

In this case, the Sun vector does not provide any other information in addition to what is measured by the Earth sensor.

3.1.2

Three or More Unit Vector Measurements

In many practical applications, more than two unit vector measurements with different measurement accuracies are available for attitude determination. In that case, it is advantageous to take all measurements into account accordingly. In the following, we present a relatively simple solution to this problem. Despite not being optimal from a theoretical point of view, the approach yields an adequate accuracy and requires little implementation effort as it relies on matrix multiplications only. Assume that we have N measurements at our disposal and collect the reference directions r i and their corresponding measurements mi in the matrices R and M:  M = m1 · · · mN  R = r1 · · · rN In addition, let σi2 be the variance of the i-th measurement or our best estimate thereof. Then we weight each measurement and reference direction with the factor wi = c/σi2 , where c is a positive constant. For instance, if we choose  c=

N  i=1

−1 σi−2

,

then all weights sum up to 1. The attitude determination task is then to solve the equation M W = T BR R W

(3.7)

for T BR , where M, R ∈ R3×N and W = diag{w1 , . . . , wN }.4 Remember that T BR ∈ R3×3 has to be orthonormal, i.e., it contains only three pieces of independent information. Therefore, (3.7) is an over-determined system of equations. First, we multiply (3.7) from the right with R  , which yields  = T BR R  M

4 Note that in contrast to (3.3), the matrices M W and R W are neither square nor orthogonal.

(3.8)

78

3 Rotational State Determination

 N     def  where M = M W R = N i=1 wi mi r i and R = R W R = i=1 wi r i r i are 3 × 3 R −1 . However, this  could be inverted, which yields T BR = M matrices. In principle, R result would not necessarily be orthonormal.  and M  and Instead of directly inverting (3.8), we now normalize the columns of R ˆ i , respectively. interpret their columns as “pseudo-directions” rˆ i and their measurements m Equation (3.8) now takes the form 

m ˆ1

m ˆ2

 m ˆ 3 = T BR rˆ 1

rˆ 2

rˆ 3 ,

hence we have three pseudo-direction/pseudo-measurement pairs that are related by the direction cosine matrix T BR . Of these three pairs, we choose the two with the largest ˆ i , rˆ i } and {m ˆ j , rˆ j }, where angular distance between them, i.e., we choose the pairs {m {i , j } = arg min|rˆ  i rˆ j | i,j

With these two pseudo-direction/pseudo-measurement pairs, we can now apply the TRIAD algorithm described in Sect. 3.1.1 to obtain T BR . Note that with the above technique, it is also possible to include three-axis star sensor measurements by computing two pairs of measurement and reference vectors from the three-axis star sensor attitude.5 More advanced attitude estimation methods solve a (weighted) least squares problem:

min

N 1  wi mi − T BR r i 2 2

(3.9)

i=1

This is known as Wahba’s problem and was first posed in [5]. There are a number of ways to solve (3.9) such as Davenport’s q-method or QUEST,6 for which we refer the interested reader to the literature [3, 4].

3.2

Angular Rate Estimation

The knowledge of angular rates for control or monitoring purposes is essential in most operational modes of a spacecraft control system. Virtually all spacecraft are equipped with gyroscopes, which measure absolute rates, i.e., rates with respect to the inertial reference frame. The rate measurements are given in the gyroscope coordinate frames and since

5 Star directions could be used directly as pairs of measurement and reference vectors. In practice,

however, it is difficult to get access to this data. 6 QUaternion ESTimator.

3.2 Angular Rate Estimation

79

these are mounted in the spacecraft, the absolute rates can be expressed equivalently in the spacecraft body-fixed frame. In addition to this nominal situation, it may be necessary to compute a rate estimate, e.g., whenever gyroscopes are not or only partially available. In the following, some simple but effective methods are described. Although limited in accuracy, they may be helpful especially in attitude acquisition or safe modes. Rate Estimation from Quaternions When a full three-axis attitude measurement is available, for example from a star sensor, we can calculate its derivative numerically. A rate estimate can then be obtained simply with (2.12) of the attitude kinematics:

ω = −2 q × q˙ + q˙4 q − q4 q˙ Numerical differentiation is usually performed with a linear high pass filter, for instance a first order filter F (s) represented in the time-continuous frequency domain as: F (s) =

s T s+1

The filter’s corner frequency (defined by its time constant T ) must be much higher than the bandwidth of the attitude control loop. For many practical applications, a time constant of 1 s to 2 s is a typical value.

Partial Rate Estimation from Unit Vector Measurement When a two-axis attitude in form of a unit vector is available, only a two-axis rate component perpendicular to the unit vector can be estimated.7 An important application is the measurement of the Sun direction and the calculation of its cross rate component. The relation between inertial Sun vector and Sun vector measurement in the body frame is Is

= T IB Bs

Under the assumption that the Sun vector is constant in the inertial reference frame, which is a valid assumption even for time constants in the order of a day, differentiation yields Is˙

= T˙ IB Bs + T IB Bs˙ = 0

(3.10)

Transformation back to body-fixed coordinates (i.e., multiplying (3.10) by T BI from the left) and using the relation (2.11), i.e., T BI T˙ IB = [ω×], results in Bs˙

= Bs × ω = Bs × (ω⊥ + ω ) = Bs × ω⊥

7 Here we disregard any sophisticated filtering techniques.

80

3 Rotational State Determination

This means that only the rate component orthogonal to the measurement direction can be computed, which is clear from illustration. The formal solution for ω⊥ is obtained by multiplication with [ Bs ×] from the left and using the relation [ Bs ×]2 = Bs Bs  − Bs  Bs I , which yields: ω⊥ = Bs˙ × Bs

(3.11)

This result is very illustrative. However, for directional measurements that are not inertially fixed, e.g., the geomagnetic field direction, the inertial derivative of the measured unit vector may not be zero and must be considered appropriately.

Rate Estimation from Unit Vector and Gyroscope Measurement In order to establish or improve functional redundancy, it may be useful to calculate a three-axis rate with a directional measurement and a single-axis gyroscope information. We consider again a Sun sensor and therefore get the rate component perpendicular to the Sun direction with (3.11). With a decomposition of the rate as above, i.e., ω = ω⊥ +ω , the remaining unknown is the rate ω around the Sun direction. The measurement of a singleaxis gyroscope provides a measurement ω˜ = g  ω, where g is the gyroscope sensitive axis given in the spacecraft body frame: ω˜ = g  ω = g  (ω⊥ + ω ) or ω˜ − g  ω⊥ = g  Bs Bs  ω

Since the direction of ω is Bs by definition and thus known, we have to solve for the scalar quantity Bs  ω, which is just the magnitude of ω : Bs



ω=

ω˜ − g  ω⊥ g  Bs

This approach fails when the gyro direction is perpendicular to the Sun direction. In this case, the gyro measures only a rate component that is already measured by the Sun unit vector and its derivative. Or with other words, the gyroscope does not add independent information. Such a singularity may also appear even with two single-axis gyroscopes, in situations when the Sun direction is perpendicular to both gyroscope measurement axes.

3.3 Attitude Observation and Filtering

3.3

Attitude Observation and Filtering

3.3.1

Concept of a Kinematic Model

81

The attitude determination principle of the first part of this chapter was based on directional measurements taken at the same time, i.e., the attitude was determined instantaneously. In this section, we will look at attitude determination using a kinematic model of the rotational motion. Such a model is shown schematically in the lower part of Fig. 3.5. It represents simply one of the kinematic differential equations of the angular motion, e.g., (2.13). The inputs to this model are angular rates, the outputs are attitudes. We assume now that the input rates can be measured with gyroscopes. The kinematic model is exact because no mass or geometrical properties are included. Now there are several ways how this model can be used for attitude determination: Forward Propagation When a known attitude can be used for initialization, the model can be used to propagate the attitude with the measured input, i.e., rate measurements. Clearly, the uncertainty of the attitude estimates increases over time because the rate inputs from gyroscope measurements will not be perfect and any measurement noise will be integrated over time. Nevertheless, for a limited period of time this approach may be applicable in practice. This approach is shown in the lower box in Fig. 3.5. A practical example for this scenario is a large angle slew from a known Earth pointing attitude. Observation Whenever a part of, but not the complete three-axis attitude can be measured, the kinematic model can be used as a basis for an observer that estimates the remaining part of the attitude. This requires that the state, i.e., the complete attitude,

Fig. 3.5 Schematic view of attitude propagation and filtering

82

3 Rotational State Determination

is observable from the reduced attitude measurement. A practically relevant example for this scenario is the yaw angle observation in case of an Earth pointing spacecraft in low Earth orbits using an Earth sensor as the only attitude measurement sensor. This application will be discussed in detail in Sect. 3.3.2. Filtering Even with a full attitude measurement available, the use of a kinematic model may be advantageous. During short time intervals, i.e., at high frequencies, accurate gyroscope measurements will lead to relatively accurate attitude propagation. On the other side, over longer time intervals, i.e., at lower frequencies, the propagated attitude estimations deteriorate and a star sensor provides a much more accurate attitude information. A filtering algorithm allows to combine the two measurements such that they both contribute in their respective more accurate frequency ranges. This concept is also shown in Fig. 3.5 and explained in Sect. 3.3.3.

3.3.2

Yaw Observation During Earth Pointing

In this section, we will consider an Earth pointing spacecraft in a circular orbit with orbital rate ω0 . The reference attitude shall be the orbit coordinate system, i.e., the zR -axis points towards the Earth and the y R -axis is the negative orbit normal. As a result, the reference rate expressed in the reference attitude system is RωR/I = (0 , −ω0 , 0) . A gyroscope measures the absolute angular rate ω = BωB/I = (ωx , ωy , ωz ) . In the remainder of this section, we express all vectors in the body frame unless explicitly stated otherwise by a prescript. Furthermore, we assume that the attitude deviations from the reference system are small, hence ϕ = (φ , θ , ψ) . An Earth sensor can continuously measure the roll and pitch angles φ, θ . The remaining problem is to observe the yaw angle ψ. First, we derive an appropriate kinematic model, which we obtain from (2.15). However, we replace the absolute rate ω by the relative rate ω − ωR/I because we consider an attitude with respect to the reference frame rather than an inertial system. With small angles and rates we get ϕ˙ = ω − ωR/I , where the reference rate is expressed in the body frame. With ⎞ ⎛ 0 ⎟ ⎜ ωR/I = T BR Rω R/I ≈ (I − [ϕ×]) ⎝−ω0 ⎠ , 0 the linearized attitude kinematics become ⎛ ⎞ ⎡ ⎤⎛ ⎞ ⎛ ⎞ ⎛ ⎞ φ 0 ωx φ˙ 0 0 ω0 ⎜ ˙⎟ ⎢ ⎥⎜ ⎟ ⎜ ⎟ ⎜ ⎟ 0 0 ⎦ ⎝ θ ⎠ + ⎝ω0 ⎠ + ⎝ωy ⎠ ⎝θ ⎠ = ⎣ 0 −ω0 0 0 ψ 0 ωz ψ˙

3.3 Attitude Observation and Filtering

83

The pitch motion is obviously decoupled from the the roll and yaw motion. The roll/yaw subsystem can therefore be separated and written as    φ˙ 0 = ψ˙ −ω0

ω0 0

    φ ωx + ωz ψ

Together with a measurement equation, this represents a standard linear system of the form

x˙ = A x + u y = c x , where c = (1 , 0) because the roll angle φ is measured by the Earth sensor. Note that the input u represents the angular rates and can therefore be measured with gyroscopes. With this standard system representation, observability can now be verified easily. For instance, Kalman’s criterion requires that the following matrix has full rank:   1 c = rank rank  c A 0 

 0 =2 ω0

Accordingly, a standard linear observer of the form xˆ˙ = Axˆ − l(c x − y) + u can be applied. The characteristic polynomial of the error system matrix A − lc is then P(s) = s 2 + s l1 + ω0 (ω0 + l2 ) , which can be used for pole placement of the error dynamics. Note that the roll/yaw system is coupled by the orbit motion, represented by the orbital rate ω0 . This means that the coupling is weak and therefore one cannot expect to tune the observer too fast. As a consequence, the yaw estimate will always be delayed. Furthermore, uncertainties such as rate and roll angle measurement errors will affect the performance of such an observer.

3.3.3

Model-Based Filtering

In many spacecraft control systems, a star sensor measures a full three-axis attitude and the inertial three-axis rate is provided by a gyroscope. Although the full rotational state is available instantaneously with these measurements, filtering techniques are often used to improve the overall performance. This is discussed in this subsection. In order to focus on the principle, we restrict ourselves to the case of inertial pointing where the nominal rate is zero and, furthermore, to a single axis of motion. The latter corresponds to small angle

84

3 Rotational State Determination

deviations from the nominal attitude. Extensions to the three-axis case as well as more advanced estimation algorithms can be found in e.g. [4, Ch. 6.2]. Gyro-Stellar Estimator This section is an abbreviated and slightly modified version from an article by D. Bayard in [2]. It explains the gyro-stellar estimator as a simple linear observer. Star sensor measurements are typically noisy at high frequencies, but relatively accurate at low frequencies. On the other side, integrated rate measurements from gyroscopes are accurate over short time intervals, i.e., high frequencies, but over longer time intervals the drift errors through integration become dominant. Also, the initial attitude may be completely unknown. The principle of a gyro-stellar estimator is the combination of both measurement sources such that the star sensor contributes to the attitude estimate at low frequencies and the gyroscope at high frequencies. There are two ways to look at a gyro-stellar estimator, either as a model based linear observer, or as complementary filtering. We will look at both and start with the former by defining the model equations. From (2.15), we get with small angles and rates a kinematic model that consists of three single integrators, one for each axis of motion. Therefore, we have for a single axis ϕ˙ = ω. The rate is not known exactly, but only from measurements of the gyroscope, which can be modeled as ω˜ = ω + b + wω ,

(3.12)

where ω˜ is the rate measurement, ω is the true inertial rate, b is a rate bias, and wω is a zero-mean white noise disturbance that leads to a random evolution of the angle and is therefore called angular random walk. In addition, the bias b is usually not exactly constant, but varies randomly, which can be modeled as b˙ = wω˙ ,

(3.13)

where wω˙ is a zero-mean white noise on the angular acceleration that leads to a random evolution of the rate and is called rate random walk. Finally, the angular measurement of a star sensor is modeled as: ϕ˜ = ϕ + ν with the star sensor noise ν.

(3.14)

3.3 Attitude Observation and Filtering

85 ˜ measurement

1



2

0 1 0 0

1

˜ rate measurement

ˆ estimate

1

0

ˆ ˆ

Fig. 3.6 Block diagram of the single-axis gyro-stellar estimator implemented as a linear observer

The integrator of the single axis kinematics and Eqs. (3.12) through (3.14) can now be combined to a standard linear state space system:           ϕ˙ 0 −1 ϕ ω˜ −1 0 wω = + + ˙b wω˙ 0 0 b 0 0 1    ϕ ϕ˜ = 1 0 +ν b

(3.15)

A corresponding standard linear observer for this system is    ϕ˙ˆ 0 ˙bˆ = 0

      −1 ϕˆ ω˜ k ˆ + + 1 (ϕ˜ − ϕ) ˆ k2 0 b 0

In Fig. 3.6, the observer is shown as a block diagram. The gains k1 and k2 are design parameters. The observer provides estimates of the attitude and the bias of the gyroscope, ˆ respectively, using attitude and rate measurements ϕ˜ and ω. ϕˆ and b, ˜ In order to get further insight, we apply the Laplace transform and get: ϕ(s) ˆ =

k1 s − k2 s2 1 ω(s) ˜ ϕ(s) ˜ + s 2 + k1 s − k2 s 2 + k1 s − k2 s      

(3.16)

−k2 k2 s ϕ(s) ˜ + 2 ω(s) ˜ + k1 s − k2 s + k1 s − k2

(3.17)

G11

ˆ b(s) =

s2

G12

86

3 Rotational State Determination

˜

measured attitude

11

low pass estimated attitude ˆ

˜

estimated attitude from integrated rate measurement

12

high pass

Fig. 3.7 Gyro-stellar estimator shown as complementary filters (adapted from [2])

In (3.16), the transfer function G11 (s) is a low pass filter, whereas G12 (s) is a high pass filter. Therefore, the estimated attitude ϕˆ is composed of a low pass filtered star ˜ This sensor measurement ϕ˜ and a high pass filtered integrated rate measurement (1/s) ω. means that the high frequency noise of the star sensor as well as the low frequency errors of the integrated rate are suppressed. The two transfer functions G11 (s) and G12 (s) are complementary because G11 (s) + G12 (s) = 1 and thus, we can look at the gyro-stellar estimator as an interconnection of two complementary filters as shown in Fig. 3.7. The remaining question is how to design the gains k1 and k2 . In the following, we describe a simple yet flexible approach that does not rely on Kalman filter theory.8 Again, from (3.16) we can see that the poles of both G11 (s) and G12 (s) depend on the gains only. Obviously, it should be k1 > 0 and k2 < 0 for stable transfer functions. In fact, the poles are given by

s1/2 =

−k1 ±



k12 + 4 k2

2

The two poles correspond to a damping and a corner frequency. The damping can be chosen to a desired value, typically 0.7. The corner frequency must be adjusted in such a way that the overall estimation error of the attitude is minimized or below a certain limit. To that end, we need a relation between the attitude error ϕe and the noise inputs ν, wω , and wω˙ . We obtain that by inserting ϕ˜ = ϕ + ν and ω/s ˜ = ϕ + wω˙ /s 2 + wω /s into (3.16), which results in three error contributions: ϕe = G11 (s) ν(s) + G12 (s)

wω (s) wω˙ (s) + G12 (s) s s2

8 Kalman filter theory would minimize the error covariance.

3.3 Attitude Observation and Filtering

87

We now denote the power spectral densities of the white noise signals ν, wω , wω˙ by r, q1 , and q2 and get for the total attitude error: σϕ2

1 = 2π





|G11 (jω)|2 r + |G12 (jω)|2

0

q1 2 q2 + |G (jω)| dω , 12 ω2 ω4

(3.18)

where ω is the frequency, not the spacecraft’s angular rate.9 For a given specification or characterization of a star sensor (r) and a gyroscope (q1 , q2 ), the covariance σϕ2 can be computed and plotted for different corner frequencies of G11 (s) and G12 (s). This allows to select a corner frequency that either minimizes the variance or fulfills some other performance objective, e.g., an appropriate response time of the filter. Equation (3.18) can also be used to specify equipment parameters (r, q1 , q2 ) together with a corner frequency of the filters. Moreover, it can be expanded to account for windowed variances, simply by multiplication of the integrand with an appropriate error index filter (see Sect. 1.5.2).

Filter with Dynamics Model If no gyroscopes and therefore no rate measurements are available, an estimation approach similar to the gyro-stellar estimator can still be implemented. This is sometimes called “dynamic stellar estimator”. In that case, the rate measurements are replaced by a spacecraft dynamics model that provides information about the angular acceleration. The latter, when integrated twice, provides attitude information at high frequencies. Again, the principle is shown using a single-axis model: ω˙ = J −1 lˆ − J −1 w , where lˆ is the commanded torque, which is the best estimate of the torque acting on the spacecraft, and w is its error. With the single axis kinematics ϕ˙ = ω, we can formulate the state-space model    ϕ˙ 0 = ω˙ 0

      1 0 ϕ 0 ˆ w l+ + 0 −J −1 ω J −1    ϕ ϕ˜ = 1 0 +ν ω

9 We do not like this overuse of variables either. However, ω is so established for denoting angular rates in mechanics and denoting frequencies in control that we consider it the lesser evil to follow these conventions instead of defining new, unusual variables.

88

3 Rotational State Determination

As opposed to the model in (3.15), the second state is now the angular rate instead of the gyroscope bias. Again, a standard observer equation is    ϕ˙ˆ 0 = ω˙ˆ 0

      k1 1 ϕˆ 0 lˆ + (ϕ˜ − ϕ) ˆ , + k2 0 ωˆ J −1

where k1 and k2 are the observer gains. Transformation into the frequency domain leads to ϕ(s) ˆ = ω(s) ˆ =

1 −1 ˆ k1 s + k2 s2 ϕ(s) ˜ + J l(s) s 2 + k1 s + k2 s 2 + k1 s + k2 s 2

(3.19)

k2 s 2 + k1 s 1 −1 ˆ J l(s) s ϕ(s) ˜ + 2 + k1 s + k2 s + k1 s + k2 s

(3.20)

s2

The difference between (3.19) and (3.16) is simply that the rate measurement ω˜ is ˆ The attitude replaced by the integral of the angular acceleration estimate (J −1 l(s))/s. estimate ϕˆ is now obtained by the low pass filtered attitude measurement ϕ˜ and the high 2. ˆ pass filtered double integrated angular acceleration (J −1 l(s))/s Clearly, the accuracy at high frequencies depends on the accuracy of the spacecraft dynamics model, i.e., knowledge of torque and moment of inertia, which is a limitation of this technique.

References 1. Bar-Itzhack, I.Y., Harman, R.R.: Optimized TRIAD algorithm for attitude determination. J. Guid. Control Dynam. 20(1), 208–211 (1997). https://doi.org/10.2514/2.4025 2. Bayard, D.S.: High-precision three-axis pointing and control. In: R. Blockley, W. Shyy (eds.) Encyclopedia of Aerospace Engineering, chap. 266, pp. 3233–3247. Wiley (2010). https://doi. org/10.1002/9780470686652.eae300 3. Crassidis, J.L., Junkins, J.L.: Optimal Estimation of Dynamic Systems. Taylor & Francis Inc. (2012) 4. Markley, F.L., Crassidis, J.L.: Fundamentals of Spacecraft Attitude Determination and Control. Springer, New York (2014). https://doi.org/10.1007/978-1-4939-0802-8 5. Wahba, G.: A least squares estimate of satellite attitude. SIAM Review 7(3), 409–409 (1965). https://doi.org/10.1137/1007077

4

Actuator Commanding

Abstract

Algorithms for attitude (and orbit) control usually provide a control command signal in spacecraft axes that corresponds to a torque (and force). However, actuators are usually not aligned with these axes and, moreover, may be redundant. Therefore, as part of the on-board processing chain, the controller outputs have to be properly distributed to the actuation inputs of the individual actuators. This task is performed by the actuator commanding. In this chapter, we will give an overview of common approaches to command reaction wheels (Sect. 4.1), control moment gyros (Sect. 4.2), thrusters (Sect. 4.3), and magnetic torquers (Sect. 4.4), such that the torque (and possibly force) required by the controller is realized.

4.1

Reaction Wheel Actuation and Control

The signal flow for reaction wheel actuation is shown in Fig. 4.1. An attitude control law outputs a torque vector, i.e., a wheel momentum derivative vector with three components corresponding to the three spacecraft body axes. This actuation vector must be distributed to the individual wheels and, furthermore, for each wheel it must be ensured that the commanded momentum derivative is actually realized in spite of disturbances. The distribution of the wheel momentum derivative depends on the wheel configuration, i.e., the number and orientation of wheels in the spacecraft. Very often, four wheels are used for redundancy reasons. A typical wheel configuration is shown in Fig. 4.2, where the wheels

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_4

89

90

4 Actuator Commanding

torque, angular momentum commands (software) actual torque, angular momentum (hardware)

Allocation: Mapping of c 3-axis torque indicontroller to vidual wheel output: torques required 3-axis torque •

• w,c

required wheel torques

Closed angular momentum/torque loops of wheels



w

actual wheel torques

Generation of 3-axis torque with wheels



RW

actual 3-axis torque

Fig. 4.1 Signal flow of wheel actuation

Fig. 4.2 Typical wheel configuration for attitude control

are arranged symmetrically around an axis, in this case the x B -axis. The configuration matrix that maps the wheel torques into spacecraft body axes torques is then given by ⎡

sin α ⎢ A = ⎣cos α 0

− sin α cos α 0

sin α 0 cos α

⎤ − sin α ⎥ 0 ⎦ cos α

(4.1)

and therefore h˙ RW = A h˙ w ,

(4.2)

where h˙ RW is the three-dimensional wheel momentum derivative in spacecraft body axes and h˙ w contains the momentum derivatives of the individual wheels. Each column of the matrix A describes the spin direction of the corresponding wheel. Equations (4.1) and (4.2) represent the right box in Fig. 4.1.

4.1 Reaction Wheel Actuation and Control

4.1.1

91

Distribution to Individual Wheels

The distribution of momentum (or momentum derivative) corresponds to the left block in Fig. 4.1. A straightforward way to accomplish this is to invert (4.2), which yields h˙ w,c = A† h˙ c + ♥ v 2 ,

(4.3)

where A† is the Moore-Penrose pseudoinverse of A, the index ‘c’ denotes the commanded values for the momentum derivatives, v 2 is the one-dimensional nullspace vector of the matrix A, and ♥ is a scalar constant. Usually, the nullspace contribution is set to zero, hence h˙ w,c = A† h˙ c

(4.4)

For the configuration of Fig. 4.2, the Moore-Penrose pseudoinverse A† is given by ⎡

A† = A (AA )−1 def

1 ⎢ 4 sin α ⎢ ⎢ ⎢− 1 ⎢ ⎢ 4 sin α =⎢ ⎢ 1 ⎢ ⎢ 4 sin α ⎢ ⎣ 1 − 4 sin α

1 2 cos α 1 2 cos α 0 0

⎤ 0

⎥ ⎥ ⎥ 0 ⎥ ⎥ ⎥ ⎥ , 1 ⎥ ⎥ 2 cos α ⎥ ⎥ 1 ⎦

(4.5)

2 cos α

which can be easily verified by evaluating the product AA† . The Moore-Penrose pseudoinverse yields the minimum 2-norm solution. This means that out of all possible combinations of individual wheel momentum derivatives h˙ w that generate the desired array momentum derivative h˙ RW , the solution of (4.4) has the smallest 2-norm. From an engineering point of view, this is a reasonable choice because it avoids unnecessary wheel actuation. While the treatment above should suffice to convey the general principle of control allocation for reaction wheels, we should note that there are other possibilities to distribute the required three-dimensional angular momentum (derivative) to the individual wheels. A sensible extension is the consideration of actuator constraints, i.e., the maximum torque and maximum angular momentum1 of the wheels. Under such constraints, the angular momentum (derivative) of the reaction wheel array is confined to a so-called zonotope, which is a convex polytope that is point-symmetric to the origin. Zonotopes have been

1 This is in turn determined by the wheel’s maximum speed of rotation and its inertia.

92

4 Actuator Commanding

studied extensively in mathematics and computer sciences [6,7] and there exist approaches to make better use of the available actuator capacity [11, 12, 14, 18].

4.1.2

Wheel Momentum Control

Wheel momentum control aims at the compensation of wheel friction and other disturbances, such that a wheel has an ideal transfer function of one, i.e., the real wheel momentum (derivative) equals the wheel momentum (derivative) commanded by the momentum distribution or the control law, respectively. This task corresponds to the block in the center of Fig. 4.1. For the design of the control loop for each wheel, we use a design model given in the frequency domain as hw =

1 u, s + Cf

(4.6)

where hw is the momentum of a single wheel, Cf is the linear wheel friction coefficient, and u is the control input of the wheel. This is shown in Fig. 4.3. The control approach is a model following loop where an ideal wheel model, i.e., a single integrator, is incorporated in the controller design. The structure of this controller is also shown in Fig. 4.3 and the equation of the control law is u = s hw,c + k (hw,c − hw )

(4.7)

The wheel is actuated with the commanded momentum derivative and in addition, with a proportional momentum feedback difference with gain k. This results in the following closed loop system:  hw =

s k + s + Cf s + Cf

hw,c −

k hw s + Cf friction

control gain 1

w,c

w,c

 ideal wheel model

Fig. 4.3 Model following loop for wheel momentum control



1 w

4.2 Control Moment Gyro Actuation

93

or hw =

s+k hw,c ≈ hw,c s + Cf + k

(4.8)

The last approximation can be made for feedback gains k that are much larger than the friction because in that case, k  Cf , hence s + Cf + k ≈ s + k and thus (s + k)/(s + Cf + k) ≈ 1. This assumption is always fulfilled for spaceborne wheels, where typical time constants are in the order of one second, whereas the wheel speed damping through friction is very low by design and corresponds to time constants that are several orders of magnitude higher.

4.2

Control Moment Gyro Actuation

The signal flow for CMG commanding is shown in Fig. 4.4, which looks similar to Fig. 4.1. Again, a three-dimensional momentum derivative command is mapped to individual CMG commands, which are realized by fast low-level dynamics and then generate an actual momentum derivative according to the actuator geometry. The basis for the latter is the CMG torque equation (2.49): h˙ CMG = C(δ) δ˙ ,

(2.49)

which is insofar identical to (4.2) as it also represents an over-determined linear equation. In contrast to reaction wheels, however, the individual actuator command for a CMG consists of its gimbal angle or gimbal rate instead of its angular momentum (derivative). Most importantly, the configuration matrix is not constant, but depends on the gimbal angles. For example, the configuration matrix of a four-CMG pyramid array (see Fig. 4.5)

torque, gimbal rate commands (software) actual torque, gimbal rates (hardware)



c

controller output: required 3-axis torque

Steering Law: Mapping of 3axis torque to gimbal rates



c

required gimbal rates

Fig. 4.4 Signal flow of CMG actuation

Closed gimbal rate loops

• actual gimbal rates

Generation of 3-axis torque from gimbal rates



CMG

actual 3-axis torque

94

4 Actuator Commanding

Fig. 4.5 Four-CMG pyramid array

3

4

3

B

2

2

B 4

1

B

1

with equal angular momentum magnitude hfw for all CMG flywheels is: ⎡ C(δ) = hfw

− cos β cos δ1 ⎢ ⎣ − sin δ1 sin β cos δ1

sin δ2 − cos β cos δ2 sin β cos δ2

cos β cos δ3 sin δ3 sin β cos δ3

⎤ − sin δ4 ⎥ cos β cos δ4 ⎦ sin β cos δ4

As discussed in Sect. 2.3.4, there exist singular configurations where no torque can be generated around a certain direction. If that happens, C loses rank and (2.49) cannot be inverted with a standard pseudoinverse any more. Even if C is not singular, it might be ill-conditioned, in which case realizing a required momentum derivative may lead to unacceptably high gimbal rate commands. These challenges motivated decades worth of research and developments of steering laws, of which we provide an overview in Sect. 4.2.1. A more thorough treatment can be found in the literature, e.g., in [9, 10]. Finally, we will briefly discuss inner gimbal control loops in Sect. 4.2.2.

4.2.1

CMG Steering Laws

The selection of a suitable steering law is mission specific and depends on the CMG array architecture and the relationship between actuator dimensions and agility requirements. Figure 4.6 shows an overview of the most common steering algorithms, of which we will briefly discuss the most important ones with the focus on the underlying principles. Clearly, if C(δ) has full rank, all solutions of the torque equation (2.49) can be obtained using the Moore-Penrose pseudoinverse C † = C  (CC  )−1 :   δ˙ c = C † h˙ c + I − C † C 





δ˙ t

δ˙ n

(4.9)

4.2 Control Moment Gyro Actuation

Exact Solutions

95

Torque Error

Hybrid Steering Laws

Moore-Penrose

singularity-robust

hybrid steering logic

generalized inverse

singular direction avoidance

feedback steering law

local gradients

generalized singularity-robust

desired gimbal angles

constrained workspace Fig. 4.6 Overview of common CMG steering laws (based on [10])

The first term in (4.9) is the torque-producing motion which generates the commanded angular momentum derivative; the second term is the null motion, defined by an arbitrary vector  ∈ RN that is projected into the nullspace of C by the projection matrix I − C † C. Multiplying the second term from the left with C verifies that C δ˙n = 0. To illustrate the fundamental limitation of this solution, recall the SVD of C from Sect. 2.3.4: C = U Σ V

(4.10)

with orthogonal matrices U ∈ R3×3 and V ∈ RN×N and ⎡ σ1 ⎢ Σ =⎣

⎤ ⎥ 03×(N−3) ⎦

σ2 σ3

Using (4.10), the torque-producing motion can be formulated as δ˙t = C  (CC  )−1 h˙ c  −1 h˙ c = (U Σ V  ) U Σ V  (U Σ V  ) = V Σ  (ΣΣ  )−1 U  h˙ c

96

4 Actuator Commanding

⎡ 

= v1

⎢ ⎢ · · · vN ⎢ ⎣



σ1 σ2

⎡ 2 ⎥ 1/σ1 ⎥⎢ ⎥⎣ σ3 ⎦

⎤⎡

1/σ22

0(N−3)×3

⎤ u 1 ⎥ ⎢ ⎥ ˙ ⎦ ⎣u2 ⎦ hc 1/σ32 u 3

3  1 ˙ = v i u i hc σi

(4.11)

i=1

When the CMG array approaches a singularity, then σ3 → 0, hence the necessary gimbal rates to generate the commanded angular momentum derivative become infinitely large.2 The most obvious solution to this singularity problem is to try and avoid singularities altogether, which can be done using over-redundant array architectures (e.g., a six-CMG roof array) or overdesigned actuators. In both cases, the CMG array is operated in a constrained angular momentum workspace, which is significantly smaller than its total capacity and has to be enforced by suitable constraints. Examples for such constraints can be found in e.g. [8] for the four-CMG pyramid array or in [10, pp. 171–175] for the six-CMG roof. When oversizing is not an option (e.g., for highly agile satellites), the (N − 3)dimensional nullspace can be used to keep the CMG array away from singular states. This can be done by defining a scalar objective function f (δ) with a gradient pointing towards a singular direction [16], e.g., f = 1/ det{CC  } or f = − det{CC  }. The vector  in (4.9) is then chosen as ⎛ ⎞ ∂f/∂δ1 ⎜ . ⎟ ⎟  = k grad f = k ⎜ ⎝ .. ⎠ ∂f/∂δN with a positive scalar gain k, which yields the following steering law:   δ˙c = C † h˙ c + k I − C † C grad f The drawback of such a local gradient method is that it only works efficiently for CMG arrays without impassable singular surfaces. This condition is not fulfilled by a four-CMG pyramid or roof array [9].

2 There is one exception, namely when the commanded angular momentum derivative has no ˙ component along the singular direction, i.e., if u 3 hc = 0. However, this is almost never the case.

4.2 Control Moment Gyro Actuation

97

A more specific approach is to use the nullspace to steer the CMG array towards a set of desired gimbal angles δ d :   δ˙ c = C † h˙ c + k I − C † C (δ d − δ) The definition of these desired gimbal angles depends on the specific mission and scenario; possible approaches can be found in [4, 15]. As explained in Sect. 2.3.4, impassable singularities cannot be escaped by a null motion. If the angular momentum workspace contains these types of singularities, socalled “singularity-escape” algorithms have to be used, which apply a torque error when the CMG array approaches a singularity:  −1 δ˙c = C  CC  + X h˙ c , where the matrix X can be thought of as a perturbation of the pseudoinverse. Typically, it is chosen as a function of the singularity measure det{CC  } such that it is negligibly small away from singularities and the commanded momentum derivative is realized (almost) exactly. When the CMG array approaches a singularity (i.e., det{CC  } becomes small), the perturbation X becomes significant, which causes a torque error but ensures that the matrix (CC  + X) remains invertible. However, when choosing X, the risk of gimbal lock has to be taken into account: Consider the simple perturbation X = k I with a scalar k as proposed in [1, 13]. Then we can again use the SVD C = U Σ V  to formulate the torque-producing motion: δ˙ t = C  (CC  + k I )−1 h˙ c  −1 = (U Σ V  ) U Σ V  (U Σ V  ) + k I h˙ c  −1 h˙ c = V Σ  U  U ΣΣ  U  + k I   −1  = V Σ U U Σ Σ + U k I U U  h˙ c  −1 = V Σ  ΣΣ  + k I U  h˙ c ⎡ 

= v1

⎢ ⎢ · · · vN ⎢ ⎣



σ1 σ2 0(N−3)×3

=

3 

σi ˙ v i u i hc +k

σ2 i=1 i

⎡ 2 ⎥ σ1 + k ⎥⎢ ⎥⎣ σ3 ⎦

σ22 + k

⎤−1 ⎡ ⎤ u ⎥ ⎢ 1 ⎥ ˙ ⎦ ⎣u2 ⎦ hc σ32 + k u 3

98

4 Actuator Commanding

In contrast to (4.11), the effect of a singular state is now that the contribution of the smallest singular value approaches zero instead of infinity: lim

σ3 ˙ v 3 u 3 hc = 0 +k

σ3 →0 σ 2 3

This becomes a problem when the commanded momentum derivative is parallel to the singular direction, because the commanded gimbal rates will be zero. As a result, there will be no gimbal motion, hence the singularity cannot be escaped despite applying a torque error. This behavior is known as “gimbal lock”. An efficient approach to prevent gimbal lock is to choose a time-varying perturbation matrix X as proposed in [17]: X = k E(t) , where    k = a exp −b 2 det CC  / h2fw , ⎤ ⎡ 1 ε3 ε2 ⎥ ⎢ E(t) = ⎣ε3 1 ε1 ⎦ , ε2 ε1 1 εi (t) = ε0 sin(ω t + φi ) , and the parameters a, b, ε0 , ω, φi have to be “properly selected” [17]. A singularity-escape steering law can also be combined with a null motion, which is called a “hybrid steering law” by some authors [10]. For instance, one can use the generalized singularity-robust inverse with a null motion that steers the CMG array towards a desired gimbal angle configuration [5, 16]   −1  h˙ c + kn I − C † C (δ d − δ) δ˙ c = C  CC  + k E

4.2.2

Gimbal Control Loop

In the inner loop (center block in Fig. 4.4), the CMG flywheel momentum management can be performed just like for RWs as discussed in Sect. 4.1.2 with the difference that the flywheel momentum is typically held constant. In addition, the accurate control of the gimbal rate is critical: As a CMG generates a gyric torque proportional to the gimbal rate and the (large) flywheel angular momentum magnitude, even small errors in the realization of a commanded gimbal rate would lead to

4.2 Control Moment Gyro Actuation

99

large output torque errors. Furthermore, as discussed in Sect. 2.3.2, the disturbance torques on the gimbals caused by the spacecraft’s rotation can become quite large. Another factor to consider is friction: Especially for small gimbal rates around zero, not only viscous friction, but also nonlinear friction effects such as Coulomb friction3 and static friction (“stiction”) become relevant. When CMGs are used for precise pointing control, these effects should be analyzed using data provided from the bearing manufacturer [10]. While such a detailed analysis is outside the scope of this book, we can nevertheless formulate some fundamental requirements on the gimbal control loop by considering a simplified model of the gimbal dynamics. From Sect. 2.3.2, we have Jgfw,γ δ¨ = −Jgfw,γ (ω˙  γ ) + (Jgfw,o − Jgfw,ς ) ως ωo + hfw ωo − lg,f + lg,m ,

(2.46)

where the disturbances are dominated by the third term on the right-hand side. In line with the discussion above, the friction torque can be separated into the gimbal rate dependent viscous friction and the remaining effects: lg,f = Cf Jgfw,γ δ˙ + lf,rest The remaining friction basically acts as an additional disturbance, hence a simplified model for (2.46) is δ¨ = −Cf δ˙ + u + d

(4.12)

with the control input u = lg,m /Jgfw,γ and the combined disturbances d. Expressing (4.12) in the frequency domain yields: δ˙ =

1 1 u+ d = G(s) (u + d) s + Cf s + Cf

As illustrated in Figs. 4.4 and 4.7, the input to the gimbal control loop is a gimbal command from the steering law and, as mentioned above, this command has to be tracked

=

• c







=



Fig. 4.7 Block diagram of gimbal control loop 3 Coulomb friction is mainly constant, but always opposite to the gimbal motion, hence it abruptly changes its direction when the gimbal rate crosses zero.

100

4 Actuator Commanding

exactly. The control error is given by e(s) = r − y = r − G(s) d − G(s) K(s) e , hence e(s) =

G(s) 1 r− d 1 + G(s) K(s) 1 + G(s) K(s)

=

s + Cf 1 r− d s + Cf + K(s) s + Cf + K(s)

= S(s) r − S(s) G(s) d Using the final value theorem and assuming a constant reference gimbal rate r(s) = δ˙c /s yields: lim e(t) = lim s e(s)

t →∞

s→0

δ˙c s→0 s s + Cf = lim δ˙c s→0 s + Cf + K(s)

= lim s S(s)

Clearly, choosing a high-gain proportional controller, i.e., K(s) = k  Cf , would make the gimbal rate error arbitrarily small. However, the controller gain corresponds to the bandwidth of the gimbal rate loop, which in turn is limited from above by the structural modes of the gimbal mounting. If the bandwidth were too large, stiffer components would be needed, which would in turn increase the mass. Therefore, to ensure that e → 0, the gimbal rate controller needs integral action, i.e., a pole at 0. Then we can write K(s) = (1/s) K0 (s) and therefore: lim e(t) = lim

t →∞

s→0

s + Cf δ˙c s + Cf + 1/s K0 (s)

s + Cf   δ˙c 2 s→0 1/s s + Cf s + K0 (s)

= lim = lim

s→0 s 2

=0

s (s + Cf ) δ˙c + Cf s + K0 (s)

4.3 Thruster Selection and Actuation

101

We have already mentioned an upper limit on the bandwidth of the gimbal rate loop. However, as the gimbal rate loop is nested within the attitude control system, its bandwidth should also be separated from the attitude control system’s bandwidth. For agile spacecraft, typical attitude control system bandwidths are on the order of 1 Hz, which yields gimbal loop bandwidths of around 10 Hz. Note that the gimbal rate loop may drive attitude control system specifications or vice versa.

4.3

Thruster Selection and Actuation

This section consists of three parts: First, we will look at the thruster selection for the generation of torques only, based on a specific but common configuration of four thrusters. Second, we explain the more general case where torque and force commands have to be realized. Finally, we will discuss the modulation of single thrusters.

4.3.1

Torque with Four Thrusters

The signal flow of a functional unit for the generation of a commanded torque is shown in Fig. 4.8. The control law outputs a three-dimensional torque signal in spacecraft body coordinates, which must be converted to commanded actuation signals for the individual thrusters. This is depicted in the left block of Fig. 4.8. Whenever pulsed thrusters are used, the quasi-continuous actuation signal4 of each thruster must be further converted into an on-off pulse sequence. This is known as modulation and shown in the center block of

torque and thrust commands (software) actual torque, thrust (hardware)

Allocation: Mapping of c 3-axis torque controller to 4 individoutput: ual thrusters required 3-axis torque

c

average required thrust of 4 thrusters

Modulation of continuous signal to on/off pulse trains

on/off pulse train

actual thrust of 4 thrusters

Generation of 3-axis torque with 4 thrusters

thr

actual 3-axis torque

Fig. 4.8 Signal flow for thruster actuation

4 In practice, these signals are in discrete time, but a fast sampling rate allows to consider them as given in continuous time.

102

4 Actuator Commanding

Fig. 4.9 Typical thruster configuration for attitude control

Fig. 4.8. Over time scales larger than the pulse repetition time, we can still treat this as a quasi-continuous signal, which corresponds to an averaging operation. This is justified by the large time constants of the spacecraft dynamics. Finally, the thrusters will, according to their configuration (mounting position and orientation), apply forces and torques on the spacecraft, which is depicted in the right block of Fig. 4.8. The distribution of forces and torques from spacecraft axes to individual thrusters depends on the thruster configuration, i.e., where they are mounted and in which direction they point. Here, we consider the case of attitude control only with a set of four thrusters shown in Fig. 4.9. Such a thruster configuration is widely used in practice. Nominally, the center of mass is in the geometrical center of the spacecraft body and the locations r i of the four thrusters are symmetrical to the zB -axis. Each thruster is canted in the x B -zB plane and its thrust direction (force direction) is described by the unit vector ei . With such a configuration, we can see by illustration that each thruster produces a torque in all three spacecraft axes and the torque magnitude in each axis is equal for all four thrusters. For example, the first thruster produces a positive torque around the x B axis with magnitude a, a positive torque around the y B axis with magnitude b, and a negative torque around the zB axis with magnitude c. We can express this in the torque configuration matrix 

A = r 1 × e1

· · · r 4 × e4





a ⎢ =⎣b −c

a −b c

−a b c

⎤ −a ⎥ −b⎦ −c

(4.13)

The three-dimensional torque l generated by the thruster is then l = A t, where t is a four-dimensional vector of thrust magnitudes.

(4.14)

4.3 Thruster Selection and Actuation

103

For the configuration matrix above, we can also see without any calculation that the nullspace of the torque matrix A is spanned by v2 =

1  1 1 2

1 1



This means simply that when all four thrusters are actuated with the same value, hence if, t = (1 , 1 , 1 , 1) , then the resulting torque will be zero. We can see this directly in Fig. 4.9 and we can verify this using (4.13) and (4.14). As the sum of each row of A is zero, this actuation direction is the nullspace for the torque actuation. The factor 1/2 is included for normalization purposes. The force of an actuation along the nullspace direction is non-zero: From Fig. 4.9, we see that it is aligned with the axis of symmetry, which is the zB -direction. Therefore, the normalized thrust vector in this case is ⎛ ⎞ 0 f ⎜ ⎟ = ⎝0⎠ f 1

Distribution from Spacecraft to Thruster Axes The objective of any thruster actuation algorithm is to invert (4.14). The solution has to take into account the constraints on the elements ti of the thrust vector t. Specifically, every element has to satisfy tmin ≤ ti ≤ tmax , where tmin and tmax define the thrust range. The minimum thrust level tmin is usually zero or close to zero, but can never be negative.5 A solution of (4.14) using the Moore-Penrose pseudoinverse is: t c = A† l c + ♥ v 2 The first term on the right-hand side may result in values that are negative. Using the second term, the solution can be shifted to positive and thus, realizable values. To this end, the constant ♥ is computed to ♥=2

 tmin − min(A† l)i i

if any (A† l)i < tmin . This means that the smallest ti = (A† l)i that would result with a zero nullspace component is shifted to tmin (usually zero) by a non-zero nullspace component. Of course, this is not a minimum length solution.

5 This is the big difference to the commanding of reaction wheels and CMGs.

104

4 Actuator Commanding

Note that each actuation will produce a force. In particular, every nullspace component adds a force contribution along the zB -direction. In practice, the set of four thrusters is typically mounted such that the zB direction is aligned with the predominant orbit maneuver direction. In that context, the nullspace can also be exploited more systematically by computing it as follows:  † ♥ = 2 tmax − max(A l)i i

Instead of minimizing the smallest thrust ti close or equal to zero, the maximum thrust of ti over all thrusters will be tmax .

4.3.2

Force and Torque

For spacecraft control applications with six degrees of freedom, the actuation problem is very similar to (4.14):   l = A t, f

(4.15)

where (l  , f  ) is the six-dimensional force/torque vector that is provided by the control laws for rotation and translation. Usually, it is expressed in spacecraft body coordinates. The dimension of the thrust magnitude vector t is much larger than four, because both force and torque have to be realized. In the following, we leave the number N of the thrusters open, a typical number is N = 12. Again, A is the thruster configuration matrix, this time with dimension 6 × N. In the following, we denote the force/torque vector by f , which simplifies the notation. Thrusters can only produce positive thrust and, moreover, their thrust is limited to the range tmin ≤ ti ≤ tmax , where tmin is often zero or close to zero. Therefore, for the same reasons as above, a simple pseudoinverse A† of the thruster configuration matrix cannot be used. However, there are many solution to the thruster actuation problem, most of which are quite computationally demanding. In the following, a method is described that leads to a computationally simple solution.6 An overview with further references can be found in [2].

6 To the best knowledge of the authors, this approach was first proposed by Prof. E. Canuto and

applied in the GOCE project. Then it was further developed by D. Fertin and S. Wu from ESA, and finally formulated in a ready to implement algorithm by A. Schleicher for the LISA Pathfinder spacecraft.

4.3 Thruster Selection and Actuation

105

Solution with Positive Thrust Components The basic idea of this actuation algorithm is to split the force/torque vector into two parts, one with positive and one with negative elements only, i.e., f = f + + f − , where f + is obtained from f by setting all negative elements to zero and, correspondingly, f − is obtained by setting all positive elements in f to zero. The solution of the thruster actuation problem can then be written as t = A+ f + − A− f −

(4.16)

The matrices A+ and A− exist for properly designed thruster configurations, otherwise it would not be possible to realize certain force/torque combinations. However, these matrices are still to be determined. In order to satisfy (4.15), they have to satisfy A A+ = I

(4.17a)

A A− = −I

(4.17b)

The actual computation of A+ and A− can be accomplished  by solving an optimization + + problem. In case of A , we use the parametrization A = x 1 · · · x 6 and we search for x i such that x i x i → min xi ≥ 0 A x i = coli (I ) The minimization results in numerically small values, hence the resulting thrust will be kept small. The first constraint is an element-wise inequality which ensures that all elements of A+ are non-negative. The second constraint corresponds to (4.17a). The procedure for the computation of A− is similar: x i x i → min xi ≤ 0 A x i = − coli (I )

Consideration of Minimum Thrust In the following, we will assume that the minimum thrust tmin is the same for all thrusters and, furthermore, that the thrust margin is large enough by design so that we can ignore the maximum thrust tmax for the moment. We denote the solution of (4.16) with t 0 . Remember that all elements of t 0 are non-negative.

106

4 Actuator Commanding

Whenever there are individual thrust levels below the lower limit, i.e., t0,i < tmin , a null space component can be added that increases the thrust level, but leaves the force/torque solution unchanged. The solution for the thrust vector is then t = t 0 + cn t n , where t n is a vector in the nullspace of the configuration matrix A. The dimension of the nullspace is N − 6, hence larger than one. Nevertheless, we use only one vector in order to simplify on-board computations. The question is now how to calculate an appropriate nullspace vector and how to compute the scaling factor cn for a given t 0 . A reasonable requirement for the nullspace vector is that all values are positive and have (ideally) the same value. This can be computed by solving an optimization problem. We denote the basis of the nullspace with V 2 . Then we compute a vector t n = V 2 λ with min(V 2 λ − 1) (V 2 λ − 1) λ

s.t. V 2 λ ≥ 0, where 1 and 0 are vectors of ones and zeros, respectively and the constraint is again an element-wise inequality. Alternatively, other norms can be used, e.g., the maximum norm:

min V 2 λ − 1 ∞ λ

s.t. V 2 λ ≥ 0 For all thrust commands to be larger than tmin we require ti = t0,i + cn tn,i ≥ tmin , for all i = 1 . . . N with cn ≥ 0. Therefore, the actual value of the scaling factor is cn = max i

tmin − t0,i tn,i

Note that a negative cn means that all t0,i > tmin and thus, there is no need to add a null space portion to the solution.

Consideration of Maximum Thrust With the solution above, we may encounter thrust commands that exceed the maximum limit tmax . In that case the thrust vector t 0 has to be adjusted by scaling it down until

4.3 Thruster Selection and Actuation

107

maxi ti ≤ tmax . To this end, we introduce an additional scaling factor ct < 1 and get for the total thrust t = ct t 0 + cn t n Each element ti of the thrust vector t must be in the range between tmin and tmax : ct t0,i + cn tn,i ≥ tmin

(4.18a)

ct t0,i + cn tn,i ≤ tmax

(4.18b)

Now we have to solve these conditions to get values for cn and ct . From (4.18a), we get cn,i ≥

tmin − ct t0,i tn,i

(4.19)

Under equality conditions, these are expression of the form cn,i = ai − ct bi with ai = tmin /tn,i > 0 and bi = t0,i /tn,i > 0. These expressions represent straight lines with negative slopes (remember that cn,i ≥ 0). To ensure that ti ≥ tmin for all i, we can now take the maximum of all functions cn,i (ct ) and insert it into (4.18b). For this we have to distinguish two cases:

Symmetrical Thruster Configuration Here, all elements of the nullspace vector have the same size. Therefore, the absolute values ai = tmin /tn,i = a are all equal and thus, the straight lines have the form cn,i = a − ct bi . These straight lines are shown schematically in Fig. 4.10 (left), where each line represents one thruster. We can see that the maximum of the right-hand side expressions in (4.19) can be associated with one thruster, independent from ct . It is the one with the smallest slope b and thus cn = a − ct b with a =

t0,i tmin and b = min i tn,i tn,i

Fig. 4.10 Functions cn,i (ct ) for symmetrical and asymmetrical thruster configurations

(4.20)

108

4 Actuator Commanding

We insert (4.20) into (4.18b) and get the result tmax − a tn,i t0,i − b tn,i

ct ≤

(4.21)

To ensure that ti ≤ tmax for all i, the actual scaling factor is the minimum over all thrusters: ct = min i

tmax − a tn,i t0,i − b tn,i

(4.22)

Equation (4.22) should only be evaluated if t0,i − b tn,i > tmax − a tn,i because only in that case will we get ct < 1. This condition can also be used to avoid singularities in (4.22) that have no practical relevance. Given a thrust vector t 0 , a fixed nullspace vector t n , and range limits tmin , tmax , the scaling factors ct and cn can now be computed using (4.22) and (4.20). Asymmetrical Thruster Configuration In that case, the absolute values ai = tmin /tn,i of the straight lines cn,i (ct ) differ and thus, the maximum of cn,i is a function of ct . This is shown is the right plot of Fig. 4.10. Depending on the scaling factor ct , different thrusters may represent the active constraint for the nullspace scaling. This complicates the computation of cn and ct . A conservative simplification is obtained by introducing an upper bound on all cn,i in form of a straight line: cn = a − ct b ≥ cn,i =

t0 , i tmin − ct tn,i tn,i

(4.23)

For example, one could choose the maximum absolute value and the minimum slope over all thrusters: a = max

tmin tn,i

b = min

t0,i tn,i

i

i

Again, ct and cn can be computed using (4.22) and (4.20). Note that the solution presented here is conservative in several aspects. The main reasons are the use of only one nullspace vector instead of the entire nullspace and the upper bound in the calculation of the scaling factors. On the other side, the computational complexity is low and the run time is bounded, which is very advantageous for practical applications.

4.3 Thruster Selection and Actuation

109

Fig. 4.11 Principle of a pseudorate modulator

4.3.3

Modulation of Single Thrusters

Very often, pulsed thrusters are used for attitude control, i.e., the thrusters provide either zero or full thrust. In addition, the pulse width is bounded from below by a minimum impulse bit. For these types of thrusters, each actuation command ti output by the distribution algorithm must be converted into an on-off sequence. This function is provided by a modulator, of which we will briefly discuss two different kinds. Pseudorate Modulator One of the most popular modulators in use is the pseudorate modulator, shown in the block diagram in Fig. 4.11. It consists of a static nonlinearity and a linear dynamic feedback. The input is a thrust command ti normalized with the nominal thrust, i.e., it is in a range between 0 and 1. The output is a pulse train with discrete values {0, 1} representing the thruster with zero or full thrust. There are three design parameters: the switching thresholds hON and hOFF , and a time constant T . With an approximately constant input, the pseudorate modulator response is characterized by equidistant pulses with a pulse width p and a repetition period Tp . Both values can be approximated by computing switching times of the output, which yields p=T

hON − hOFF 1 + hON − ti

and Tp = T

(hON − hOFF )(1 + hON ) ti (1 + hON − ti )

for hON ti hOFF + 1. The interested reader is referred to [3].

110

4 Actuator Commanding

The average modulator output (denoted by a bar) is t¯i =

p 1 = ti Tp 1 + hON

For small thresholds hON 1, we have approximately a unit transfer behaviour in steady state. Further details are omitted here and can be found in [3].7 The pseudorate modulator can be implemented in digital form as an algorithm that relies on the analytical solution of the first order system in the feedback loop.

Digital Modulator In the following, a simple digital modulator is described. We assume a minimum pulse width pmin and a sample interval N pmin of the control law. N is the length of the control sample interval counted in minimum impulse bits. The idea is to command one pulse in each control sample interval with a pulse width adjusted according to the input command. Basically, the algorithm follows three steps: 1. In time step k, calculate the normalized thrust and add the remainder r(k − 1) from the previous step. The remainder is zero when the algorithm starts. ti (k) ti (k) := + r(k − 1) tmax tmax 2. Compute the pulse width in that sample period in form of the number pi (k) of minimum pulses.  ti (k) pi (k) = floor N tmax 3. Calculate a remainder that was not realized because of the quantization with the minimum impulse bit. r(k) =

ti (k) pi (k) − tmax N

4. Increase the counter for the next time interval: k := k + 1. Both modulators outlined here may lead to high frequency switching. This must be thoroughly analyzed, which is usually accomplished through simulation. Very often in modern spacecraft control systems, thruster control is not used during extended periods of normal operation, but rather for large angle orientation maneuvers and rate damping. 7 For slowly varying input signals, the pseudorate modulator has additional differential characteris-

tics, which may be beneficial for the control of flexible structures [3].

4.4 Magnetic Torquer Actuation

4.4

111

Magnetic Torquer Actuation

Magnetic torquers can be used to apply external torque to a spacecraft. The actuation signal is the magnetic moment of each torquer (given in A m2 ). When three torquers are used, the vector of the magnetic moment m is three-dimensional. The torque generated by magnetic torquers is l = −b(t) × m,

(4.24)

where b(t) is the Earth’s magnetic field strength (flux density in Tesla). Note that this is a function of time. Because of the cross product, a three-dimensional magnetic moment can only generate a torque in two dimensions at any given time. This torque is always perpendicular to the Earth’s magnetic field direction. Over a larger period of time, such as one orbit, the variation in the Earth’s magnetic field b(t) provides full three-axis controllability, which is sufficient for control tasks that do not require a high precision. In order to calculate the required magnetic moment for a given torque command from a control law, we have to invert (4.24). Obviously, [b(t)×] has rank two with a nullspace along b(t). For the inversion, we therefore multiply with [b×]/(b b) from the left, which yields:  [b×]2 bb × l = − m = I − b b b b b b b

m

(4.25)

The expression on the right-hand side is the magnetic moment perpendicular to the magnetic field vector. This gives a formula for the calculation of an actuation value of mc given a desired torque l c : mc =

b b b

× lc

(4.26)

Equation (4.26) can be used as an on-board algorithm. The magnetic field b(t) must either be measured with a magnetometer or it must be computed using a geomagnetic model. The latter requires position knowledge, i.e., either an accurate orbit propagator or a position sensor (GNSS receiver). In order to obtain the relation between commanded torque and actual torque, we insert (4.26) into (4.24) and get l=−

 [b×]2 bb l = I−  c  b b b b

lc ,

(4.27)

which shows that with the actuation law (4.26) the component perpendicular to the geomagnetic field is realized.

112

4 Actuator Commanding

References 1. Bedrossian, N.S., Paradiso, J., Bergmann, E.V., Rowell, D.: Steering law design for redundant single-gimbal control moment gyroscopes. J. Guid. Control Dynam. 13(6), 1083–1089 (1990). https://doi.org/10.2514/3.20582 2. Bindel, D., Schlotterer, M., Theil, S.: Thruster actuation algorithms for scientific space missions. In: 56th International Astronautical Congress of the International Astronautical Federation, the International Academy of Astronautics, and the International Institute of Space Law. American Institute of Aeronautics and Astronautics (2005). https://doi.org/10.2514/6.iac-05-c1.p.10 3. Bittner, H., Fischer, H.D., Surauer, M.: Design of reaction jet attitude control systems for flexible spacecraft. In: Proceedings of the 9th IFAC/ESA Symposium on Automatic Control in Space. Elsevier (1982). https://doi.org/10.1016/S1474-6670(17)62222-5 4. Geshnizjani, R., Kornienko, A., Ziegler, T., Loehr, J., Fichter, W.: Optimal initial gimbal angles for agile slew maneuvers with control moment gyroscopes. In: AIAA Scitech 2019 Forum. American Institute of Aeronautics and Astronautics (2019). https://doi.org/10.2514/6.2019-0936 5. Geshnizjani, R., Kornienko, A., Ziegler, T., Löhr, J., Fichter, W.: Torque optimal steering of control moment gyroscopes for agile spacecraft. J. Guid. Control Dynam. 44(3), 629–640 (2021). https://doi.org/10.2514/1.g005118 6. Gritzmann, P., Sturmfels, B.: Minkowski addition of polytopes: Computational complexity and applications to Gröbner bases. SIAM J. Discrete Math. 6(2), 246–269 (1993). https://doi.org/ 10.1137/0406019 7. Karavelas, M.I., Konaxis, C., Tzanaki, E.: The maximum number of faces of the minkowski sum of three convex polytopes. In: T. Chan (ed.) Proceedings of the 29th Annual ACM Symposium on Computational Geometry, June 17–20, 2013, Rio de Janeiro, Brazil, pp. 187–196. ACM, New 0York, NY (2013). https://doi.org/10.1145/2462356.2462368 8. Kurokawa, H.: Constrained steering law of pyramid-type control moment gyros and ground tests. J. Guid. Control Dynam. 20(3), 445–449 (1997). https://doi.org/10.2514/2.4095 9. Kurokawa, H.: Survey of theory and steering laws of single-gimbal control moment gyros. J. Guid. Control Dynam. 30(5), 1331–1340 (2007). https://doi.org/10.2514/1.27316 10. Leve, F.A., Hamilton, B.J., Peck, M.A.: Spacecraft Momentum Control Systems, Space technology library, vol. 1010. Springer, Cham and Heidelberg and New York and Dordrecht and London (2015) 11. Markley, F.L., Crassidis, J.L.: Fundamentals of Spacecraft Attitude Determination and Control. Springer, New York (2014). https://doi.org/10.1007/978-1-4939-0802-8 12. Markley, F.L., Reynolds, R.G., Liu, F.X., Lebsock, K.L.: Maximum torque and momentum envelopes for reaction wheel arrays. J. Guid. Control Dynam. 33(5), 1606–1614 (2010). https:// doi.org/10.2514/1.47235 13. Nakamura, Y., Hanafusa, H.: Inverse kinematic solutions with singularity robustness for robot manipulator control. J. Dynam. Syst. Meas. Control 108, 163–171 (1986) 14. Stephan, J., Fichter, W.: Fast exact redistributed pseudoinverse method for linear actuation systems. IEEE Trans. Control Syst. Tech. 27(1), 451–458 (2019). https://doi.org/10.1109/tcst. 2017.2765622 15. Vadali, S.R., Walker, S.R., Oh, H.S.: Preferred gimbal angles for single gimbal control moment gyros. J. Guid. Control Dynam. 13(6), 1090–1095 (1990). https://doi.org/10.2514/3.20583 16. Wie, B.: Space Vehicle Dynamics and Control, 2 edn. AIAA education series. American Inst. of Aeronautics and Astronautics, Reston, VA (2008)

References

113

17. Wie, B., Bailey, D., Heiberg, C.: Singularity robust steering logic for redundant single-gimbal control moment gyros. J. Guid. Control Dynam. 24(5), 865–872 (2001). https://doi.org/10.2514/ 2.4799 18. Winkler, S., Schindler, T.: Deterministic L∞ actuator commanding for higher agility, larger offloading cycle and less propellant consumption without changing hardware. In: 9th International ESA Conference on Guidance, Navigation & Control Systems (2014)

5

Attitude and Momentum Control

Abstract

From a system engineering point of view, there are several fundamental concepts for three-axis attitude and momentum control, which are briefly discussed in the first section. It concludes with an overview of the most common control tasks in satellite attitude control. In the remaining part of the chapter, common control approaches for attitude and angular momentum control are explained in detail, together with a formulation and discussion of the closed loop systems.

5.1

Architectures and Concepts

External Versus Internal Actuation In most attitude control systems, control actuation is either provided by thrusters or by momentum exchange device. The latter are in practice reaction wheels or control moment gyros (CMGs). Thrusters basically convert stored chemical energy into kinetic energy of an exhaust, which in turn exerts forces on the spacecraft. If the line of thrust is not directed through the center of mass of the spacecraft, a torque is generated as well.1 It is an external torque because the force is created by a momentum exchange with the environment. This makes the situation concerning control actuation relatively simple. A functional block diagram of an attitude control loop with thrusters is shown in Fig. 5.1. An orbit control loop is added for completeness; usually it is realized by dedicated maneuvers that are commanded from

1 Here and in the following we assume that the center of mass is the body-fixed reference point (i.e.,

the origin of the body-fixed reference frame), which is usually the case in practice. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_5

115

116

5 Attitude and Momentum Control

Reference Orbit Orbit Navigation

Orbit Control Reference Attitude

Attitude Navigation

Attitude Control

Force Cmd

Torque Cmd

Thruster Thruster Cmd Actuation

External Disturbances Spacecraft Dynamics and Kinematics Actuators and Sensors

Sensor Measurements Fig. 5.1 Control system block diagram with external torque actuation

ground, which is not explained any further here. The spacecraft rotational dynamics are given by (2.29) with the wheel momentum set to zero: J ω˙ + ω × J ω = l, where the external torque l comprises disturbance torques as well as control torques provided by the thrusters. Depending on the thruster configuration and the actuation algorithm, the thrusters may also produce a force that has to be considered for orbit control.2 Reaction wheels and CMGs are momentum exchange devices (MEDs), i.e., they exchange momentum with the spacecraft body rather than the environment. Thus, an internal torque is generated, which can also be used for attitude control purposes. The dynamics ˙ ω+hMED ) = are given by (2.29) or (2.47) with the external torque set to zero: J ω+ω×(J ˙ −hMED . Obviously, the rate of change of the MED’s angular momentum h˙ MED can be used for actuation purposes. Usually, momentum exchange devices require additional inner control loops. With reaction wheels, the angular acceleration (or sometimes rate) must be controlled, which is explained in Sect. 4.1.2. In case of CMGs, a similar control loop for gimbal rates (or angles) is necessary. The overall control architecture is somewhat more complex; an overview of a reaction wheel based control system is shown in Fig. 5.2. Again, the orbit control loop is added for completeness only. The generation of internal torques requires only electric power, whereas external torques rely on consumables. The latter may limit the mission lifetime. On the other side, the maximum torque level with momentum exchange devices is typically much smaller compared to thrusters.

2 Whenever a sufficient number of thrusters is available, the torque actuation can be accomplished with opposite thrusters in such a way that only a torque is produced. In practice, however, this is rarely the case.

5.1 Architectures and Concepts

117

Reference Orbit Orbit Navigation

Orbit Control

Force Cmd

Thruster Actuation

Thruster Cmd External Disturbances

Reference Momentum Spacecraft Dynamics and Kinematics

Torquer Currents Actuation

Momentum Control

Actuators and Sensors Reference Attitude Attitude Navigation

Attitude Control

Torque Cmd

RW Motor Cmd RW Actuation Wheel Speed Measurements

Attitude Measurements Momentum Measurements Orbit Measurements Fig. 5.2 Control system block diagram with internal torque actuation

The Role of Angular Momentum Control With internal torques, one more control loop is needed to control the total angular momentum. Whenever a non-zero external disturbance torque is applied to a spacecraft and its compensation is accomplished by an internal torque, the internal momentum will increase over time along the direction of the torque. Sooner or later, any set of momentum exchange devices will reach its momentum limit. Therefore, the internal momentum or, equivalently, the total momentum of the satellite must be stabilized using an external torque. However, this stabilization task can be performed without significant perfomance requirements and, in particular, over larger time scales.3 In practice, this is often accomplished by magnetic torquers. In some cases, the angular momentum control is performed together with thruster activities during discrete orbit control events (represented by the dashed line in Fig. 5.2). Momentum control loops will be discussed in detail in Sect. 5.3.

3 This task is often called momentum desaturation.

118

5 Attitude and Momentum Control

Nonlinear Control and Attitude Maneuvers With large attitude maneuvers or large angular rates, the spacecraft motion model is nonlinear and thus, the closed loop will be nonlinear, regardless of whether the controllers are linear or nonlinear. Other nonlinearities may originate from nonlinear characteristics of sensors or actuators. Typical maneuvers with nonlinear dynamics include rate damping after launcher separation, alignment of a desired spacecraft axis with a reference direction (e.g., Sun acquisition), reorientation and acquisition of a new three-axis attitude, or tracking of a time-varying reference attitude (e.g., scanning). Maneuver scenarios that are relatively rare over the mission lifetime are usually performed with thrusters (external actuation torque) because of their large actuation authority. In case of frequent reorientation maneuvers, CMGs are used (internal actuation torque). With attitude maneuvers in practice, the motion state is usually measured or known from estimations.

Linear Control and Pointing Whenever a linearization of the spacecraft dynamics is possible, linear control design and analysis methods should be preferred. This is the case if there is a well-defined reference motion of the spacecraft and the spacecraft state is relatively close to that reference state. All pointing tasks with respect to a reference system that is either inertially fixed or rotating with a constant rate lead to linear time-invariant system descriptions. Examples are the Earth pointing of a communications satellite during normal operations or the inertial pointing of an astronomy satellite during science operations. These pointing tasks are often realized using reaction wheels or CMGs for actuation as they do not rely on consumables and provide very precise torques. For small deviations from a reference state, the actuators themselves can also be considered as linear and thus, the overall closed loop can be analyzed with linear tools. The same is true for micropropulsion systems. For practical pointing scenarios, we can usually consider a three-dimensional attitude measurement or even a full state knowledge to be available, given by star sensors and rate gyroscopes or state estimations. Momentum Bias Systems There are many missions where a specific axis of a satellite has to be pointed towards the Earth with an additional stabilization around the Earth direction (yaw axis). In this case, the dynamics can easily be linearized with respect to a reference frame that is pointing to and rotating around the Earth. The deviation from Earth pointing is measured directly by an Earth sensor. From a practical point of view, it is often desirable to avoid additional (precise) yaw sensors. Nevertheless, yaw stabilization can be achieved with a so-called momentum bias system. The idea here is to establish an angular momentum bias that is perpendicular to the Earth direction and the orbit plane (see Fig. 5.3). This creates a

5.2 Nonlinear Attitude and Rate Control

119

0

Earth yaw

pitch

R

R

roll R

Orbit Fig. 5.3 Momentum bias system Table 5.1 Overview of control concepts Nonlinear

Linear

Operational condition

State knowledge

Rate control (Sect. 5.2.1) 2-axis large-angle maneuver (Sect. 5.2.2) 3-axis large-angle maneuver (Sect. 5.2.3) Pointing (Sect. 5.4)

Angular rate 2-axis attitude (direction) possibly angular rate 3-axis attitude or complete state 3-axis attitude 2-axis attitude (momentum bias)

dynamic coupling of the two axes perpendicular to the momentum bias, which in turn leads to the effect that the yaw motion becomes observable through an Earth sensor angle. Thus, the yaw motion can be stabilized. In case of a momentum bias system, the role of reaction wheels is twofold: They provide the actuation torque and they affect the spacecraft dynamics in such a way that observability of the yaw motion by the Earth sensor is provided, which is explained in Sect. 5.4.1. Summary In the remainder of this chapter, we will discuss specific algorithms that implement the concepts introduced above. As visualized in Table 5.1, we will primarily distinguish between nonlinear and linear approaches.

5.2

Nonlinear Attitude and Rate Control

In this section, several nonlinear controllers are discussed covering many application cases that are relevant in practice. The control approaches are justified based on rather simplified models, specifically, the rigid body dynamics ω˙ = −J −1 ω × J ω + J −1 l

(5.1)

120

5 Attitude and Momentum Control

The control torque l on the right-hand side of (5.1) can be provided either by thrusters or by MEDs. In the latter case, l = −h˙ MED − ω × hMED in line with the derivations in Sects. 2.2 and 2.3. It should be kept in mind that this is a design model. In practice, there may be more effects that have to be analyzed, usually via simulation.

5.2.1

Rate Control

The objective of rate control or rate damping is to slow down the rotational rate of the spacecraft, e.g., after separation from the launcher. The reference rate is usually zero. In the following, we will use the rigid body dynamics (5.1) as a design model and analyze rate damping control laws for different cases of available torque and measurements. Three-Axis Torque and Three-Axis Rate Measurement We first assume that both a three-axis torque and a complete three-axis measurement of the angular rate ω are available. A simple control approach is to feed back each scalar rate along its measurement axis, i.e., we chose the control law l = −K d ω

(5.2)

with a positive definite, diagonal gain matrix: ⎡ kd,1 ⎢ Kd = ⎣ 0 0

0 kd,2 0

⎤ 0 ⎥ 0 ⎦

,

kd,i > 0

kd,3

The closed-loop system is then given by ω˙ = −J −1 ω × J ω − J −1 K d ω ,

(5.3)

which is a nonlinear system due to the nonlinear dynamics. Its equilibrium point is ω∗ = 0, which is the desired angular rate. We will now look at the stability of this equilibrium point using Lyapunov theory (see Sect. B.3) and choose the rotational energy as a Lyapunov function candidate: V =

1  ω Jω 2

Clearly, V (0) = 0 and V (ω) > 0 for all ω = 0. The derivative V˙ along the trajectories of (5.3) is  ∂V f (ω) = ω J −J −1 ω × J ω − J −1 K d ω = −ω K d ω , V˙ = ∂ω

5.2 Nonlinear Attitude and Rate Control

121

i.e., we have a negative definite derivative for nonzero rates because K d is positive definite. Therefore, the closed-loop system is globally asymptotically stable.4 This is actually true for all positive definite gain matrices K d , not just diagonal matrices.

Three-Axis Torque and Single-Axis Rate Measurement Now we assume a single axis rate measurement along an axis g. This configuration might be of less practical relevance; however, it provides further insight to rate feedback for damping purposes. It represents the situation when one or several gyroscopes have failed. The scalar rate measurement of a single gyro can be expressed as ω˜ = g  ω. We follow the same principle as before and feed back the rate measurement along its measurement axis, amplified with the control gain. This means that the control torque l = −kd g ω˜ = −kd g g  ω is also applied along the axis g and the closed-loop system becomes: ω˙ = −J −1 ω × J ω − J −1 kd g g  ω Again, we use the rotational energy V = and get for its derivative: V˙ = ω J

1 2

(5.4)

ω J ω as a Lyapunov function candidate

 −J −1 ω × J ω − J −1 kd g g  ω = −kd (ω g)2 ≤ 0

If the angular rate is orthogonal to the gyroscope axis, then ω  g = 0 and thus V˙ = 0 even though the angular rate may be nonzero. Hence, V˙ is negative semi-definite and therefore, only stability, i.e., the boundedness of the rate, can be concluded at first glance. According to the Invariance Principle (see Sect. B.3), the closed-loop system will eventually reach a state where V˙ is identically zero. To investigate this final state more thoroughly, two cases have to be considered. First, we assume a principal-axis rotation perpendicular to g. Then both the control torque and the gyroscopic torque in (5.4) vanish, hence ω˙ = 0 and the angular rate will remain constant. Therefore, V˙ is identically zero with a nonzero angular rate and the system is only stable, but not asymptotically stable. For the second case, we consider a non-principal axis rotation perpendicular to g, which can be ensured if g is not orthogonal to any principal axis. Then, the gyroscopic term ω × J ω will change the direction of the rotation and V˙ does not remain identically zero unless the angular rate is zero as well. We can therefore conclude that the system is in fact asymptotically stable. Unfortunately, the rate damping effect in that case is very slow, which limits the practical applicability. 4 Using the fact that 0.5 λ 2 2 2 min (J ) ω ≤ V ≤ 0.5 λmax (J ) ω and V˙ ≤ −λmin (K d ) ω , we

can even argue that the closed-loop is exponentially stable, hence the rate decays exponentially fast.

122

5 Attitude and Momentum Control

Three-Axis Torque and Two-Axis Rate Measurement When no gyroscopes are available, Sun sensor measurements can be used to obtain a two-axis rate information orthogonal to the Sun vector. The corresponding Eq. (3.11) is repeated here:  ω⊥ = Bs˙ × Bs = I − Bs Bs  ω The control approach is the same as in the previous scenario, i.e., we choose l = −kd ω⊥ with a positive gain kd > 0, yielding the closed-loop system  ω˙ = −J −1 ω × J ω − J −1 kd I − Bs Bs  ω

(5.5)

Again, the rotational energy is used as a Lyapunov function candidate with the derivative:   V˙ = −ω J −J −1 ω × J ω − J −1 kd I − Bs Bs  ω  = −kd ω I − Bs Bs  ω (5.6)  = −kd ω ω − ( Bs  ω)2  = −kd ω2 1 − cos2  (ω, Bs ) ≤ 0 Clearly, the Lyapunov derivative vanishes if cos2  (ω, Bs ) = 1, i.e., if the angular rate and the Sun vector are collinear. Using the same argumentation as above, it can be concluded that the system is stable, but not asymptotically stable, if Bs is a principal axis. If Bs is not a principal axis, V˙ will not stay identically zero and therefore, the system is asymptotically stable.

Two-Axis Torque with Magnetic Torquers When using magnetic torquers for actuation purposes, the torque applied to the spacecraft is l = −b(t) × m according to (1.1). With a rate damping control law (5.2), we have a commanded torque l c = −K d ω, which together with the actuation law (4.26) for magnetic torquers yields the control law m=−

[b×] Kd ω b b

(5.7)

5.2 Nonlinear Attitude and Rate Control

123

The actual torque applied to the spacecraft is then according to (4.27):

bb Kd ω l=− I−  b b Using this equation instead of the control law (5.2), and using a scalar gain K d = kd I , we obtain the closed-loop system  ˆ bˆ  (t) ω , ω˙ = −J −1 ω × J ω − J −1 kd I − b(t)

(5.8)

ˆ where b(t) = b(t)/b(t) is the current direction of the magnetic field. Equation (5.8) has the same structure as (5.5), hence using the rotational energy as a Lyapunov function candidate yields a similar derivative:  ˆ bˆ  (t) ω V˙ (t, ω) = −ω kd I − b(t)  2 ˆ = −kd ω2 + kd ω b(t)  ˆ = −kd ω2 1 − cos2  (ω, b(t)) ≤0 Again, the Lyapunov derivative is negative semi-definite and we can apply a timevarying version of the Invariance Principle [3] which states that the system will eventually reach a state where V˙ (t, ω) ≡ 0. This is possible for our desired equilibrium point ω∗ ≡ 0, ˆ but also for the case when ω(t)  b(t), i.e., an angular rate that stays parallel to the current magnetic field direction. In the latter case, the system is stable, but not asymptotically stable, and it is difficult to show analytically that this case cannot occur. Mathematically, one would have to prove that an angular rate vector tracking the magnetic field direction cannot be a solution to Euler’s equation (5.1). Following the more “physical” argumentation of [1], the torquefree motion5 of a rigid body follows a complex, inertially fixed profile [10, ch. 6.6]. The geomagnetic field acting on the spacecraft depends on the latter’s current position, which in turn is determined by the orbit parameters. In addition, even assuming a simple dipole model, the geomagnetic field is not constant due to Earth’s rotation and the fact that the magnetic poles do not coincide with the geographic poles. These factors make it highly unlikely, to say the least, that the spacecraft actually enters this situation in practice.

5 Remember that the controller command from (5.7) vanishes for ω  b. ˆ

124

5 Attitude and Momentum Control

Two-Axis Measurement with Magnetometer In addition to magnetic actuation, we can consider the case where the rate information is derived from a magnetometer rather than measured by a gyroscope. For small time intervals with respect to one orbit period, we can assume that the inertial derivative of the geomagnetic field direction is approximately zero, i.e., we have ∗

b ≈ 0 = ω × b + b˙ ˙ In the control law (5.7), we use the scalar gain kd > 0 and replace the term b × ω by b. Then the final control law becomes very simple: m = −kd

b˙ b b

(5.9)

Under the assumptions made here, this control law provides the same function as the control law with gyroscope measurements. This means that gyroscope measurements have no advantage over a geomagnetic field derivative. In practice, however, there are limitations because of the assumption of zero derivative of the geomagnetic field. It limits the achievable rate damping performance to approximately the magnitude of the orbit rate. Equation (5.9) is sometimes called “b-dot law” and used in the Safe Mode, e.g., when a unit such as a gyroscope has failed. Nonzero Reference Rate In the following, we will briefly discuss the control task with a constant angular rate, i.e., we have Rω R = const. = 0 and Rω˙ R = 0. This may typically occur after aligning the spacecraft with a reference direction, where a constant rotation around that direction is desired. Our starting point is again (5.1), but we will now formulate it in terms of angular momentum: ⎧ ⎨l THR thr J ω˙ + ω × J ω = l = (5.10) ⎩−h˙ MED − ω × hMED RWs, CMGs We investigate the control law l = −K d J (ω − ωR ) +  ω × J ωR ,

(5.11)

where K  d = K d > 0 is a positive definite gain matrix and it remains to determine whether to set  = 1 or  = 0. Stated another way, we first determine whether the gyro coupling has to be compensated by the controller ( = 1) or whether a simple proportional control law is sufficient ( = 0). To this end, we insert (5.11) into (5.10) and find the equilibrium

5.2 Nonlinear Attitude and Rate Control

125

points of the closed loop: J ω˙ =  ω × J ωR − ω × J ω − K d J (ω − ωR )

(5.12)

We can see that for  = 0 the desired state ω = ωR is generally not an equilibrium point of the closed-loop system. For  = 1, however, setting (5.12) to zero yields: ([ω×] + K d ) J (ω − ωR ) = 0

(5.13)

Now ω = ωR is an equilibrium point, hence we must compensate the gyro coupling in the control law by setting  = 1. We can even show that the desired state ω = ωR is the only equilibrium of (5.12) if we restrict the controller gain to diagonal matrices K d = diag{kd,1 , kd,2 , kd,3}: The key is to realize that any non-trivial solution of (5.13) must lie in the nullspace of ([ω×] + K d ), which can only exist if the determinant of this matrix vanishes. However, det ([ω×] + K d ) = kd,1 kd,2 kd,3 +

3 

kd,i ωi2 > 0,

i=1

hence there are no additional solutions of (5.13) and, therefore, ω = ωR is the only equilibrium of (5.12). To check the stability of the equilibrium ω = ωR , we use the candidate function V (ω) =

1 (ω − ωR ) J  J (ω − ωR ) , 2

which is in fact the 2-norm of the error in angular momentum. The derivative of V along the solutions of (5.12) is V˙ =



∂V ∂ω



ω˙

= (ω − ωR ) J  J

 J −1 ω × J ωR − J −1 ω × J ω − J −1 K d J (ω − ωR )

= −(ω − ωR ) J  K d J (ω − ωR ) Clearly, V˙ is negative definite, hence the equilibrium ω = ω R is asymptotically stable. The coupling term ω × J ω R in (5.11) looks a bit unusual and a more natural approach would be to command ωR × J ωR instead. This is in fact possible, but it significantly complicates the equilibrium and stability analysis.

126

5.2.2

5 Attitude and Momentum Control

Two-Axis Attitude Acquisition

The objective of a two-axis attitude acquisition maneuver is to let a spacecraft body-fixed axis point along a given reference direction. A practically relevant example is to control the measured Sun vector s with respect to a constant reference direction s R , both given in the spacecraft body frame, and to damp the rates to zero. The reference direction can be for instance a body-fixed vector perpendicular to the solar arrays, if maximization of power is an objective. For this task, we need a design model that represents not only the dynamics, but also the pointing kinematics. The latter are given by (2.16), i.e., we have the design model s˙ = s × ω

(5.14)

ω˙ = −J −1 ω × J ω − J −1 l

Now we assume that the inertial three-axis rate information ω as well as a measurement of Sun vector s are available, both expressed in the spacecraft body frame. The control law for two-axis attitude control is composed of two contributions: l = −K d ω + K p (s R × s)

,

K d, K p > 0

(5.15)

The rate feedback (first term) is used for damping purposes and the attitude feedback (second term) drives the measured Sun vector s to the reference Sun vector s R . The cross product in the second term of the control law (5.15) is a driving vector perpendicular to both s R and s with a magnitude proportional to the sine of the angle between them, hence it always provides the correct sign of the driving torque. Note that here the controller itself is nonlinear in addition to the design plant. Inserting (5.15) into (5.14) yields the closed-loop system s˙ = s × ω ω˙ = −J −1 ω × J ω − J −1 K d ω + J −1 K p (s R × s) ,

(5.16)

which has the two equilibrium points 

x ∗1

s ∗1 = ω∗



 s = R 0





and

x ∗2

s ∗2 = ω∗



 −s R . = 0 

The second equilibrium point, which corresponds to an attitude error of 180°, is unstable: As visualized in Fig. 5.4, any small deviation from x ∗2 will initiate the control law to drive the state further away.

5.2 Nonlinear Attitude and Rate Control

127

Fig. 5.4 Stability of two-axis acquisition



R

R R

To analyze the stability of the desired equilibrium point x ∗1 , consider the following Lyapunov function candidate: V =

1  1 ω J ω + (s − s R ) M (s − s R ) 2 2

The first term is the same as in the case of rate control, while the second term with the positive definite matrix M accounts for deviations in attitude. Clearly, V (x ∗1 ) = 0 and V (x) > 0 for all x = x ∗1 . Using the closed-loop system (5.16), the derivative of V becomes ∂V f (x) V˙ = ∂x  = (s − s R ) M

ω J





s×ω −J −1 ω × J ω − J −1 K d ω + J −1 K p (s R × s)



= −ω K d ω + ω K p (s R × s) + (s − s R ) M (s × ω) Now let K p and M be diagonal matrices and choose M = K p = kp I . Then V˙ = −ω K d ω + kp ω (s R × s) + kp s  (s × ω) −kp s  R (s × ω)    =0



= −ω K d ω ≤ 0. As the Lyapunov derivative is negative semi-definite, the closed-loop system (5.16) will evolve towards a state where V˙ ≡ 0 according to the Invariance Principle. This is only possible if the angular rate is identically zero, which implies ω˙ ≡ 0 and therefore, s R × s ≡ 0. As we have shown above, the control law (5.15) will always drive the system away from the undesired equilibrium point at s = −s R , hence we can conclude that the     is asymptotically stable. desired equilibrium point s  R , 0

128

5.2.3

5 Attitude and Momentum Control

Three-Axis Attitude Control

The following four paragraphs are summaries of [6, 10–12], with additional explanations. Three-Axis Attitude Acquisition The objective of a three-axis attitude acquisition maneuver is to acquire a threedimensional reference attitude, which can be given by the reference quaternion q . R

Without loss of generality,6 let q = (0, 0, 0, 1) . R The design model here consists of the rigid body motion and the quaternion kinematics:

1 q˙ = 2



−[ω×] −ω

 ω q 0

ω˙ = −J −1 ω × J ω + J −1 l

(5.17a) (5.17b)

We assume that the attitude quaternion q and the absolute rate ω are available from measurements. Like in the two-axis case, the control law consists of a damping and a spring-like contribution. The latter acts on the vector part q of the quaternion and drives the spacecraft towards the desired reference attitude: l = −K d ω − K p q

(5.18)

Inserting the control law into the plant (5.17) yields the closed-loop system 1 q˙ = 2



−[ω×] −ω

 ω q 0

ω˙ = −J −1 ω × J ω − J −1 K d ω − J −1 K p q

(5.19a) (5.19b)

Equation (5.19) has the two equilibrium points ⎞ ⎛ ⎞ 0 q∗ ⎜ ∗⎟ ⎜ ⎟ = ⎝ q4 ⎠ = ⎝±1⎠ , ω∗ 0 ⎛

x ∗1,2

which both correspond to the desired reference attitude. In the following, we will restrict our analysis to the equilibrium point x ∗ = (0 , 1 , 0) and assume that q4 ≥ 0. 6 We will see on page 134 why this case actually covers all constant reference attitudes.

5.2 Nonlinear Attitude and Rate Control

129

In the following, we will formulate all quantities in a body-fixed frame defined along the principal axes of the spacecraft. Then, J = diag{J1 , J2 , J3 }, which will simplify some algebraic manipulations. It can then be shown that the control law (5.18) stabilizes the equilibrium point x ∗ if the following conditions are met [10, 12]: • • •

Both gain matrices K d and K p are positive definite. K p is chosen such that the product K −1 p K d is positive definite as well. K p satisfies either K p = diag{k1 , k2 , k3 }

with

J3 − J2 J1 − J3 J2 − J1 + + =0 k1 k2 k3

(5.20)

or K p = (α J + β I )−1

(5.21)

The easiest way to fulfil (5.20) is to choose K p = k I , i.e., to use the same gain for all three axes. If the principal moments of inertia differ significantly, however, this choice of K p will cause different angular rates and accelerations around the three axes. The effect of unequal moments of inertia can be eliminated by choosing K p according to (5.21) with β = 0, which also results in an eigenaxis rotation [12]. Using (5.21) with a finite β provides an additional tuning parameter. The stability of the equilibrium point is shown in [12] based on a suitable Lyapunov function and the Invariance Principle. Eigenaxis Rotation Reference [12] also considers the following modification of the control law (5.18): l = −kd J ω − kp J q + ω × J ω , where the gyric torque ω × J ω has been added and K d and K p have been selected as scalar multiples of the inertia matrix with kd , kp > 0. The closed-loop system is now given by 1 1 q4 ω + q × ω 2 2 1  q˙4 = − q ω 2 q˙ =

ω˙ = −kd ω − kp q ,

(5.22a) (5.22b) (5.22c)

hence the gyro term is now compensated by the feedback control torque and the only remaining nonlinearity is the coupling term q × ω. Let q(0) and ω(0) denote the initial attitude quaternion and initial angular rate, respectively. If ω(0) is parallel to q(0), then

130

5 Attitude and Momentum Control

q(0) × ω(0) = 0, hence Eqs. (5.22) imply that both ω(t) and q(t) will remain parallel to q(0). Therefore, the system will perform an eigenaxis rotation, which can formally be expressed by q(t) = cq (t) q(0) ,

(5.23)

where cq (t) is a scalar function.7 A more formal proof can be found in [10, 12].

Limitation of Proportional Feedback For large angle motions the problem may arise that the torques become too large over an extended period of time and, as a consequence, the rates become too large as well. This is true for both three-axis and two-axis acquisition maneuvers. A countermeasure is the limitation of the attitude feedback torque. We will consider angular rate constraints first. To this end, the control law for the three-axis acquisition maneuver is modified to be l = ω × J ω − K d ω − K p Sat q , σ (q)

(5.24)

where Satσ (q) q is a vector limiter that limits the magnitude of its argument while retaining its direction: ⎧ ⎨ if σ (q) ≤ 1 def q Sat q = ⎩q/σ (q) if σ (q) > 1 , σ (q) In this definition, σ (q) is a normalized function of the size of q. For the control law (5.24), it is chosen as σ (q) = qp /L, where L denotes the maximum allowed size of q and the norm ·p can be chosen according to the requirement at hand. Most often, the Euclidean norm (p = 2) or the maximum norm (p = ∞) are suitable choices for spherical constraints or box constraints, respectively. To illustrate the effect of saturation, set K d = kd J and K p = kp J .8 Then the closed loop is given by ω˙ = −kd ω − kp Sat q , σ (q)

7 Using the definition of quaternions (2.1), we can find that c (t) = sin(0.5 ϕ(t))/ sin(0.5 ϕ(0)). q

However, we will not need the explicit formulation for the following discussions. 8 A slightly more general choice for K is discussed in [10, 11]. p

5.2 Nonlinear Attitude and Rate Control

131

which is equal to (5.22) for the unsaturated case. We assume that ω(0) and q(0) are parallel, hence the spacecraft will perform an eigenaxis rotation. Once saturation occurs, the closed loop becomes: ω˙ + kd ω = −

kp L q qp

(5.25)

Using (5.23), the right hand side of (5.25) can be reformulated to ω˙ + kd ω = −

kp L cq (t) q(0) cq (t) q(0)p

=−

kp L cq (t) q(0) q(0)p |cq (t)|

=−

kp L sgn(cq ) q(0) = const. q(0)p

The solution of this differential equation is c  ω ω(t) = ω(0) e−kd t + 1 − e−kd t q(0) , kd where cω = − sgn(cq ) kp L/q(0)p . As kd is positive, the exponential functions decay from one to zero. We can therefore find for the magnitude of the angular rate: c  ω ωp = ω(0) e−kd t + 1 − e−kd t q(0) kd ≤ ω(0)p + − = ω(0)p +

sgn(cq ) kp L q(0) kd q(0)p

p

p

kp L kd

Now let ωmax be the maximum allowed angular rate and assume a rest-to-rest maneuver, i.e., ω(0) = 0. Then we have ωp ≤

kp L ≤ ωmax , kd

hence choosing L ≤ ωmax kd /kp ensures that the angular rate does not exceed the constraint. Another way to obtain this result is to show that the closed loop (5.25) has a nontrivial steady state solution ω∗ that does not exceed the maximum rate. To do this, set ω˙ = 0 and

132

5 Attitude and Momentum Control

insert again (5.23) into (5.25). Solving for ω∗ yields ω∗ = −

kp L cq (t) q(0) kd |cq (t)| q(0)p

and the requirement ω∗ p ≤ ωmax leads again to the condition L ≤ ωmax kd /kp . The consideration of torque constraints requires another saturation layer: " ! l = Sat −K d ω − K p Sat q , σ (l)

σ (q)

(5.26)

While we can choose σ (q) as above, the choice of σ (l) is a bit more involved and depends on the actuators. As an example for illustration, assume that the control law (5.26) shall be realized by an array of N reaction wheels. Then from (4.2), we have l = h˙ RW = A h˙ w , where h˙ w is the N × 1-vector of individual wheel torques, each of which is limited by a maximum wheel torque: |h˙ w,i | ≤ li,max



1 li,max

|h˙ w,i | ≤ 1 ∀i = 1, . . . , N

This constraint can be written more compactly using the diagonal matrix L = diag{l1,max , . . . , lN,max }: L−1 h˙ w ∞ ≤ 1 With the Moore-Penrose pseudoinverse of A, the size function σ (l) for the reaction wheel array can then be defined as: σ (l) = L−1 A† l∞ For a more detailed treatment, we refer again to the literature [10, 11].

Three-Axis Attitude Tracking The task of attitude tracking is to follow a given time-varying attitude trajectory. This trajectory may be given in the form of time profiles for the attitude q (t), angular R rate RωR (t), and angular acceleration Rω˙ R (t), which are all expressed in the reference coordinate frame R. The attitude tracking task can be solved analogously to the attitude acquisition task above by analyzing the rotational error dynamics. To this end, we define the attitude error

5.2 Nonlinear Attitude and Rate Control

133

quaternion and the error rate as q = q ⊗ q −1

(5.27)

ωe = ω − ωR = ω − T BR Rω R ,

(5.28)

e

R

where T BR is the DCM of the attitude error. Using (2.11), the derivative of (5.28) with respect to time is ∗

ωe = ω˙ − T BR Rω˙ R + [ωe ×] T BR RωR , where the spacecraft’s rotational dynamics enter via ω. ˙ Following [6, 7], we pre-multiply the equation above by J and insert the rotational dynamics (2.29): ∗

J ωe = S(q , ωe , RωR ) ωe − J T BR Rω˙ R − ωR × J ωR + l , e

where S is a skew-symmetric matrix: S(q , ω e , Rω R ) = [(J ωe )×] − [ωR ×] J + [(J ωR )×] − J [ωR ×] e

Along with the attitude error kinematics [2], the design plant for attitude tracking is therefore given by: 1 (qe4 I + [q e ×]) ωe 2 1 = − q ωe 2 e

q˙ e =

(5.29a)

q˙e4

(5.29b)



J ωe = S(q , ω e , Rω R ) ωe − J T BR Rω˙ R − ωR × J ωR + l e

(5.29c)

Now consider the control law l = J T BR Rω˙ R + ωR × J ωR − kp q e − kd ωe ,

(5.30)

which has the following differences to the control law (5.18) used for attitude acquisition: First, there is a feedforward term that would—in the absence of disturbances, uncertainties, and initial errors—by itself force the spacecraft to follow the reference trajectory. Second, the derivative term of the proportional-derivative (PD) feedback control part acts on the error rate instead of the spacecraft rate.

134

5 Attitude and Momentum Control

Inserting (5.30) into (5.29) yields the closed-loop system:9 1 (qe4 I + [q e ×]) ωe 2 1 = − q ωe 2 e

q˙ e =

(5.31a)

q˙e4

(5.31b)



J ωe = S(q , ω e , Rω R ) ωe − kp q e − kd ωe

(5.31c)

e

Clearly, the equilibrium point of (5.31) is {q e = 0 , ωe = 0}. This means that the ability to track the reference trajectory is equivalent to the stability of the error dynamics. To show that the control law (5.30) stabilizes the error dynamics, consider the Lyapunov function candidate V =

1  ω J ωe + 2 (1 − qe4 ) . 2 kp e

(5.32)

The derivative of (5.32) along the solutions of (5.31) is10 ∂V ∗ ∂V q˙e4 + ωe = −2 V˙ = ∂qe4 ∂ωe = q e ωe + =−



1  ∗ 1  − q e ωe + ω J ωe 2 kp e

 1  ω e S ω e − kp q e − kd ω e kp

kd  ω ωe , kp e

hence V˙ is negative semi-definite and we can apply the Invariance Principle. Therefore, the closed-loop system will reach states where V˙ ≡ 0, which requires ωe ≡ 0 and ∗ therefore ωe ≡ 0. This is only possible for the equilibrium point {q e = 0 , ωe = 0}, hence the error dynamics are asymptotically stable and the reference trajectory will be tracked. Attitude Control in the Angular Momentum Domain The use of MEDs motivates the formulation of the rotational motion of a spacecraft in the angular momentum domain. = [0 , 1] in our discussion of attitude acquisition: For any constant reference attitude, ωR = 0 and therefore ωe = ω. As a result, the error dynamics (5.31) will reduce to (5.19), just with q replaced by q . Requiring q → q is 9 Equation (5.31) provides the explanation why we could assume q

R

e

R

equivalent to requiring q → [0 , 1] , hence the previous discussion in this section in fact covers e all constant reference attitudes. 10 To show that ω S ω = 0, we have used the fact ω  [ω ×] J ω = ([ω ×] J ω ) ω = e e e e R R e e    ω e J [ωR ×] ωe = −ω e J [ωR ×] ω e .

5.2 Nonlinear Attitude and Rate Control

135

MEDs can be reaction wheels or CMGs, whose commanding is described in Sects. 4.1 and 4.2, respectively, albeit in the torque domain. In case of reaction wheels, (4.2) holds unchanged for the wheels’ angular momenta, hence similar commanding algorithms can be applied. The commanding of CMGs is more involved, but some approaches for angular momentum domain steering laws exist in literature [5, 9, 13]. In both cases, we will now assume that a working angular momentum control loop as described in Sect. 5.3 is implemented on the spacecraft. Then, we have the angular momentum relationship h = J ω + hMED ,

(5.33)

i.e., the angular momentum of the MED immediately defines the spacecraft’s angular rate. As a result, the design plant for attitude control reduces to the rotational error kinematics: 1 (qe4 I + [q e ×]) ωe , 2 1 = − q ωe , 2 e

q˙ e = q˙e4

(5.34a) (5.34b)

where q = q ⊗ q −1 and ωe = ω − ωR are again the attitude and rate error as defined R e in (5.27) and (5.28). The difference to the rotational dynamics is that now the spacecraft rate ω is not a state anymore, but instead acts as the plant input. According to [14], a proportional control law is sufficient to stabilize the rotational error kinematics, thus ensuring accurate attitude tracking. Hence, we can choose the angular rate command ωc = ωR − K q e

(5.35)

with a positive definite gain matrix K. Using (5.33), this angular rate command corresponds to the commanded MED momentum hc = h − J (ωR − K q e ) = hMED + J ωe + J K q e . Note that the controller gain matrix K has to be chosen such that angular momentum command never exceeds the angular momentum capacity of the MEDs (see [5] for the case of CMGs). If we assume that the MEDs realize the angular momentum command sufficiently fast, we can set hMED ≈ hc and formulate the closed-loop kinematics by simply defining the

136

5 Attitude and Momentum Control

commanded rate error as ωe,c = ωc −ωR with (5.35) and using this as plant input in (5.34): q˙ e = − q˙e4 =

1 (qe4 I + [q e ×]) K q e 2

1  q K qe 2 e

(5.36a) (5.36b)

We can now follow [14] to show that these error kinematics are stable, i.e., that attitude commands are tracked. this end, note that the closed-loop system (5.36) has  To  the equilibrium point q ∗ = 0 1 , i.e., zero attitude error and thus q = q .11 We choose e R the Lyapunov function candidate V = (q4 − qR4 )2 + (q − q R ) (q − q R ) ,

(5.37)

which is zero if and only if the spacecraft’s attitude equals the reference attitude and positive otherwise. The derivative of (5.37) along the solutions of (5.34) is12 V˙ = 2 (q˙4 − q˙R4 ) (q˙4 − q˙R4 ) + 2 (q˙ − q˙ R ) (q − q R ) = −2 (q˙  q R + q˙  R q + q˙4 qR4 + q˙R4 q4 ) = −2 q˙e4 = −q  e K qe , which is clearly negative definite for a positive definite gain matrix K. The inclusion of sufficiently fast and asymptotically stable actuator dynamics do not change this stability result [5]. Note that this control law can be used even in case of a non-zero bias, because it essentially relies on dynamic decoupling.

5.3

Angular Momentum Control

5.3.1

Motivation and Single Axis Example

According to the law of angular momentum conservation, the total angular momentum of the spacecraft can only change when external torques act on it. In order to understand the need for angular momentum control when using internal actuators, we first look at a   11 The condition q˙ = 0 is also satisfied by the attitude error quaternion 0 − 1  . However, this e

quaternion corresponds to an attitude error of 360°, hence it also describes the condition of zero attitude error. 12 We use the fact that q˙  q + q˙ q = 0. 4 4

5.3 Angular Momentum Control

137

simple example of the one-axis motion of a spacecraft with one wheel for attitude actuation purposes. In the spacecraft motion model (2.29), (2.13), we consider the motion around the y B -axis only and get Jy ω˙ y = −h˙ w + ly

(5.38)

θ˙ = ωy ,

where ly is the external torque and ωy = θ˙ is the pitch angular rate. When a wheel is used for actuation, there is an additional dynamic equation for the wheel. Neglecting wheel friction and inertial angular acceleration in (2.35), we get the simplified model h˙ w = lm ,

(5.39)

which is a pure integrator driven by the motor torque lm of the reaction wheel around the single axis. Any attitude control law will feed back the angle θ and produce an actuator command h˙ w = lm (θ, θ˙ ). Assuming a stable attitude closed loop, the steady state solution of (5.38) is h˙ w = ly , which means that whenever there is an external torque with non-zero mean value, the attitude control law will respond with an internal torque and the wheel speed will increase over time. This situation can also be described in a block diagram of the closed control loop, shown in Fig. 5.5. This diagram is arranged in such a way that the output of the attitude control loop is h˙ w instead of the attitude angle θ . We can see that without momentum control, the system has a pole at zero due to the integrator of the reaction wheel. This means that the system is marginally stable and for an input ly with non-zero mean, the wheel momentum will tend towards infinity. Clearly, this effect must be limited, hence the wheel momentum hw has to be controlled in addition to the attitude. This is also called momentum desaturation and must be accomplished with an external torque, e.g., using thrusters or magnetic torquers.

1

1





Attitude Controller

Momentum Controller Fig. 5.5 One-axis control loop with wheel

hw =

m

h

1

hw

138

5 Attitude and Momentum Control

Although the main purpose of momentum control is to prevent the wheel momentum from saturation, we select the total momentum to be the control variable of the momentum control loop, rather than the wheel momentum alone. This has the advantage that the dynamics model for design purposes becomes very simple. The total momentum is hy = Jy ωy + hw and the corresponding dynamics are then: h˙ y = ly

(5.40)

Note that (5.40) is independent of the specific formulation of the attitude control law. In summary, instead of using θ and the wheel momentum hw as control variables corresponding to (5.38) and (5.39), we use θ and the total momentum hy and (5.38), (5.40) for design purposes.

5.3.2

Wheel Body Momentum and Nullspace Momentum

Normally, more than three reaction wheels are used for three-axis attitude control. As discussed in Sect. 4.1, the individual reaction wheels’s momentum derivatives are mapped to a three-dimensional momentum derivative by the RW configuration matrix. Using the singular value decomposition (SVD) of the configuration matrix, we can write #

A = U Σ V = U Σ1

  $ V 1 , 03×(N−3) V 2

(5.41)

where Σ 1 = diag{σ1 , σ2 , σ3 } collects the singular values of A, the matrix V 1 ∈ RN×3 is the basis of the range space (also called row space) of A, and the matrix V 2 ∈ RN×(N−3) is the basis of its nullspace. Using the fact A† = V Σ † U  , we can now invert (4.2) and get for the reaction wheels’s momentum derivatives: h˙ w = V 1 Σ † U  h˙ RW + V 2 h˙ w,n

(5.42)

with h˙ RW ∈ R3 and h˙ w,n ∈ RN−3 . Analogously, we can formulate the reaction wheels’s angular momentum as: hw = V 1 Σ † U  hRW + V 2 hw,n

(5.43)

The first term in (5.42) and (5.43) acts on the spacecraft, hence hRW and h˙ RW are called wheel body momentum (derivative). The second term, however, lies in the nullspace of A and does not affect the spacecraft. Under ideal conditions, this nullspace momentum hw,n shall normally be zero; in practice, however, a nullspace momentum builds up due to:

5.3 Angular Momentum Control

139

Nullspace

Nullspace Controller

Momentum 1

2



S/C Dyn.

Att Ctrl



c

RW Distr.

RW Ctrl



w

1

1

1

Body Mom.

Momentum Ctrl

Fig. 5.6 3-Axis attitude control loop with N wheels

• • •

numerical effects in the commanded wheel momentum derivatives and their integration, uncertainties in the knowledge of the nullspace direction (always the case because of a limited alignment accuracy), or unequal transfer functions of the scalar model following loops, e.g. caused by different friction coefficients of each wheel, which may cause a mapping into the nullspace direction.13

The task of an angular momentum control loop as shown in Fig. 5.6 is to control both components of the reaction wheels’s angular momentum. The wheel body momentum corresponds to the “wheel momentum” of the single-axis example above and therefore, it has to be controlled using external torques. Thus in practice, we choose the spacecraft total angular momentum as the control variable instead of the wheel body momentum as this choice yields a simpler design model, which is explained below.

5.3.3

Options for Momentum Desaturation

The control of the wheel body momentum requires the application of external torque, for which there are several options: •

A common approach is to use magnetic torquers. They can be operated continuously, hence a continuous control loop can be realized. The lack of controllability, i.e.,

13 This effect is relevant when the wheel momentum has a nominal bias.

140







5 Attitude and Momentum Control

the property that magnetic torquers produce only a two-axis torque at any given time instant, can be alleviated by considering larger time intervals with a changing magnetic field direction. Another option is to use thrusters. These are not operated continuously, but they are typically used for orbit maneuvers. During such maneuvers, an appropriate torque can be generated such that the wheel momentum evolves in the desired direction by counteracting the thruster torque. Gravity gradient torques are also external torques and can therefore be used for momentum control. The gravity gradient torque can be influenced by the attitude or by a change of the inertia tensor. The first requires large attitude maneuvers, while the latter requires a change of the spacecraft configuration. Both options are usually not compliant with typical spacecraft operational scenarios; therefore, the gravity gradient is rarely used for momentum control. Solar torques can be used for the generation of body fixed torques via the orientation of solar panels with respect to the Sun.

When using thrusters, momentum control is usually performed with discrete control maneuvers, which are often combined with orbit control maneuvers. During such maneuvers, the thrust vector is intentionally misaligned from the center of mass. This way, a torque is generated which results in the desired change of angular momentum. The torque level and time duration have to be precomputed and then applied without feedback control. In a more technical sense, we can think of the torque causing the wheels to spin down as a reaction of the attitude control loop, assuming that the misalignment and time duration has to be chosen properly. When designing a momentum control system, it is always worth to check if the major source of disturbance torque can also be exploited as an actuation mechanism for momentum control purposes. The most common option for Earth orbiting spacecraft is the use of magnetic torquers, which is described next.

5.3.4

Wheel Body Momentum Control

Formulation in the Orbit Frame For the control of the three-dimensional projection of the wheel body momentum, we use the total momentum h = J ω + hRW as control variable. This has the advantage that the problem formulation becomes independent from the actual attitude motion of the spacecraft. Furthermore, in case of momentum bias systems, the reference momentum is usually specified as a constant vector in the orbit frame, i.e., it has typically the form

5.3 Angular Momentum Control

141

= (0 −h0 0) . Therefore, the plant dynamics are preferably expressed in orbit coordinates: OhR

˙+ ω × h= l, O 0 O O

Oh

(5.44)

where Ol is the external torque expressed in the orbit frame and Oω 0 = (0 −ω0 0) is the rate of the orbit frame. Furthermore, Oh is the total momentum expressed in the orbit frame: Oh

= T OB h = T OB (J ω + hRW )

The actuation torque Ol is given by: Ol

= − Ob (t) × Om = − Ob (t) × T OB m

Whenever the attitude control loop works properly, we can write J ωR instead of J ω and T OR instead of T OB , i.e., replace the actual values with their nominal values. In practice, we usually have J ω  hRW . In order to simplify the notation, we will drop the lower left index (O) from now on and remember that all variables are expressed in the orbit frame unless noted otherwise.

Controller Design The momentum model (5.44) is of third order and formally time-invariant because ω0 is constant. Therefore, we formulate a control law l = K (hR − h)

(5.45)

with a diagonal controller gain matrix K. This means that we treat the system as decoupled. The torque (5.45) cannot be realized because of the actuation principle of magnetic torquers. Instead, we can only realize a two-dimensional component of it according to the actuation law (4.26), which results in the relation (4.27) between commanded and realized torque. With (4.26), we get the closed-loop system [b(t)×]2 K (hR − h) h˙ + ω0 × h = − b(t) b(t)

(5.46)

For analysis purposes, we reformulate this closed-loop system by defining the momentum deviation he from the reference hR : h = he + hR

(5.47)

142

5 Attitude and Momentum Control

Inserting (5.47) into (5.46) and considering that ω0 × hR = 0 yields [b(t)×]2 h˙ e + ω0 × he = − K (−he ) b(t) b(t) or h˙ e =



[b(t)×]2 K − [ω0 ×] b(t) b(t)

he

This system is equivalent to (5.8) with angular momentum as state rather than rate. Therefore, we can use the same rationale for analyzing the closed loop. As an alternative, we can treat it as a homogeneous system of the form h˙ e = A(t) he with a time-periodic system matrix A(t). In fact, it has a periodicity of approximately one orbit.14 Floquet Theory can be used for analysis and design purposes, see Sect. B.4.

Actuation of Magnetic Torquers The control design in the previous paragraph was carried out in the orbit frame. Accordingly, the actuation law (4.26) together with the control law (5.45) provides a magnetic momentum Om in the orbit frame. For the actuation of magnetic torquers that are mounted in the spacecraft, we simply have to transform the torquer command with m = T BO Om . Again, with a properly functioning attitude control loop, we can replace T BO by T RO .

5.3.5

Nullspace Momentum Control

When more than three wheels are used for attitude control, there is an (N −3)-dimensional nullspace of the wheel momentum and its derivative as shown in Fig. 5.6. The control laws described in the previous subsection affect the momentum in the subspace represented by V 1 of the wheel actuation matrix, see (5.41). This subspace is orthogonal to the nullspace and does therefore not affect the nullspace momentum. On the other side, it is possible that angular momentum builds up along the nullspace direction due to uncertainties. This effect might be small, but it accumulates through the integrating effects of the wheels. Over longer time spans, the nullspace momentum can reach the operational limits of individual wheels, hence a dedicated controller for the nullspace momentum is needed.

14 This is actually a simplification because the periodicity does not only originate from the orbit motion but also from the Earth’s rotation. For analysis purposes, the latter can be neglected because it is much slower.

5.4 Linear Attitude Control

143

In the following, we assume ideal wheels, which is justified through proper inner wheel control loops as described in Sect. 4.1.2. For the sake of simplicity, we consider a set of four reaction wheels, hence we get from (4.8): hw =

1 ˙ I hw,c , s

(5.48)

where h˙ w,c can be considered as the actuation signal for the set of four wheels. The output to be controlled is the scalar nullspace momentum magnitude hw,n , which can be measured by the projection hw,n = v  2 hw . Because of the simple dynamics of (5.48), we see directly that an actuation signal along the nullspace leads to a wheel momentum change along the nullspace. This suggests the control law h˙ w,c = −k hw,n v 2 = −k v 2 v  2 hw , where k is a scalar gain of the nullspace angular momentum control. The closed loop is then given by h˙ w = −k v 2 v  2 hw with a closed-loop system matrix −k v 2 v  2 that has rank one corresponding to the onedimensional nullspace. We can see that the control loop does not affect the wheel body  ˙ momentum because V  1 hw = −k V 1 v 2 hw,n = 0. On the other side, we have along the nullspace direction:   ˙ ˙ v 2 hw = hw,n = −k v 2 v 2 v 2 hw = −k hw,n

This is a simple first order closed-loop system. The gain k determines the time constant, which allows an easy design.

5.4

Linear Attitude Control

5.4.1

Earth Pointing with Momentum Bias

Momentum bias systems are widely used for Earth orbiting and nadir pointing spacecraft. Establishing a momentum bias is actually an intended modification of the spacecraft dynamics such that the yaw motion (the axis without an attitude sensor) becomes

144

5 Attitude and Momentum Control

observable from a roll motion, which can be measured by an Earth sensor. The details of controller design are described in this section. Linearized Design Equations With slowly moving appendages (e.g., solar arrays), the dynamics of a spacecraft can be modelled as a gyrostat, whose dynamics are repeated here from Sect. 2.2: J ω˙ + ω × (J ω + hRW ) = −h˙ RW + l Remember that hRW is the momentum of the wheel(s) relative to the spacecraft body axes. Assuming small deviations from the reference attitude, we can formulate the angular rate error as: ωe ≈ ϕ˙ = ω − (I − [ϕ×]) RωR and therefore: ω = Rω R + Rω R × ϕ + ϕ˙

(5.49)

With a constant reference rate, differentiating (5.49) yields ω˙ = RωR × ϕ˙ + ϕ¨

(5.50)

Inserting (5.49) and (5.50) into the dynamics model and neglecting quadratic terms in ϕ, ϕ, ˙ we get   J ϕ¨ + G ϕ˙ + Q ϕ + Rω R × J Rω R + hRW = −h˙ RW + l with G = J [ RωR ×] + [ RωR ×] J − [(J RωR )×] − [hRW ×]   Q = [ Rω R ×] J − [(J RωR )×] − [hRW ×] [ Rω R ×] The reference rate Rω R is given by (0 −ω0 0) , where ω0 is the orbit rate. In the parameters G and Q, the wheel momentum hRW can be set to its nominal value, i.e., (0 −h0 0) , with the wheel momentum bias h0 . Thus, G and Q are constant in time.

5.4 Linear Attitude Control

145

For many practically relevant applications, the inertia matrix J is diagonal15 and the rigid body momentum is small compared to the wheel momentum, i.e., J RωR   hRW . Under these conditions, the design model above can be further simplified to:  J ϕ¨ − [hRW ×] ϕ˙ − [hRW ×] [ Rω R ×] ϕ = − h˙ RW + RωR × hRW + l Finally we normalize with the inertia J and get ⎛ ⎞ ⎛ ⎞ ⎞ ⎛ G13 ψ˙ Q11 φ φ¨  ⎜ ¨⎟ ⎜ ⎟ ⎟ ⎜ −1 ˙ RW + J −1 l ω × h + h ⎝ θ ⎠ + ⎝ 0 ⎠ + ⎝ 0 ⎠ = −J RW R R ψ¨ G31 φ˙ Q33 ψ

(5.51)

with the scalar parameter definitions G13 =

h0 Jx

G31 = −

Q11 =

ω0 h0 Jx

Q33 =

h0 Jz

ω0 h0 Jz

All these parameters depend on hR,y = −h0 , hence we now see the fundamental effect of establishing a momentum bias. Terms with h0 provide a stiffness in the yaw axis through the parameter Q33 and the yaw rate couples into the roll axis through the parameter G13 . These two effects lead to observability of the yaw motion from the roll measurement. The term Rω R × hRW + h˙ RW on the right-hand side of (5.51) can be interpreted as control actuation. Note that even with perfect steady state attitude, i.e., whenever the lefthand side of the model equation (5.51) is zero, it might be necessary to actuate the wheels. This is the case if the wheel momentum hRW is not exactly collinear with the reference rate Rω R . Then the wheel momentum has to be slewed in the spacecraft body frame in order to keep the spacecraft perfectly aligned. Controller Design and Closed Loop For further control design purposes, we define a new control input of the form ⎛ ⎞ ⎛ ⎞ u1 Q11 φ  ⎜ ⎟ def ⎜ ⎟ u = ⎝u2 ⎠ = −J −1 Rω R × hRW + h˙ RW − ⎝ 0 ⎠ u3 G31 φ˙

(5.52)

This means that we decouple the effects that can be measured by the Earth sensor (φ, ˙ The dynamics can be partly decoupled into a simple second order system of the pitch φ).

15 The spacecraft coordinate axes are principal axes.

146

5 Attitude and Momentum Control

motion, θ¨ = u2 , and a fourth order system that represents the coupled roll/yaw motion. The controller design for the pitch subsystem is rather trivial, hence we will now focus on the roll/yaw motion:    φ¨ 0 + ψ¨ 0

G13 0

   φ˙ 0 + ψ˙ 0

0 Q33

      φ u1 d = + 1 ψ u3 d3

or in the frequency domain: 

s2 0

G13 s 2 s + Q33

      φ d u1 + 1 , = u3 d3 ψ

where we have defined the disturbance d = J −1 l. The conventional control approach for such a system is to control the roll axis using a PD-type controller with a relatively high gain. The actuation signal u1 is approximately ˙ i.e., proportional to the yaw rate. For damping purposes of the yaw proportional to G13 ψ, loop, a weighted signal of u1 is fed back into the yaw axis. The mathematical notation of this controller is      0 φ u1 kd s + kp =− k (kd s + kp ) 0 u3 ψ The second column of the control matrix is zero since ψ is not measurable. The closedloop control system becomes  s 2 + kd s + kp k (kd s + kp )

G13 s 2 s + Q33

    φ d1 = ψ d3

(5.53)

with the characteristic polynomial P = (s 2 + kd s + kp ) (s 2 + Q33 ) − G13 k s (kd s + kp )

(5.54)

An analytical factorization of the characteristic polynomial into two second order polynomials is possible for kd  −G13 k, i.e., when the gain of the roll loop is relatively large. Then, the term kd s + kp can be expanded by adding s 2 , where the additional term G13 k s 3 is negligible. Therefore: P ≈ (s 2 + kd s + kp ) (s 2 − G13 k s + Q33 ) This expression allows to select the gain k such that the system behaves well damped, e.g., √ by choosing k = −2 Q33 /G13 . The transfer functions from the disturbances d1 and d3

5.4 Linear Attitude Control

147

to the roll and yaw angle are obtained by inverting (5.53):    1 φ s 2 + Q33 = P −k (kd s + kp ) ψ

−G13 s s 2 + kd s + kp

  d1 d3

√ Note that the natural frequency of the second polynomial of P is Q33 , which is mainly represented by the yaw motion. This means that the closed-loop response can be damped but its response time cannot be increased with feedback control. The only measure to make the yaw response faster for a given orbit and a given spacecraft inertia is to increase the momentum bias. Next, we look at the performance of the closed-loop system in terms of disturbance rejection and calculate the steady state response to constant disturbances with magnitudes dˆ1 and dˆ3 . Applying the final value theorem yields: 

 φ∞ ψ∞

    1 dˆ1 1 −G13 s s 2 + Q33 = lim s 2 s→0 P −k (kd s + kp ) s + kd s + kp s dˆ3    0 1/kp dˆ1 = −k/Q33 1/Q33 dˆ3

Obviously, the steady state yaw response to a yaw disturbance is not affected by any control parameter. This confirms the fact that the yaw bandwidth cannot be influenced by control. Reinserting the physical quantities to Q33 and dˆ3 , the steady state yaw deviation caused by a yaw disturbance (denoted by the index 33) is ψ∞,33 =

1 ˆ Jz lz lz = d3 = Q33 ω0 h0 Jz ω0 h0

Again, we see that the only way to decrease this yaw deviation is to increase the magnitude of the momentum bias. Finally, we compute the control signal −h˙ RW for the wheels, which can be recovered from (5.52) as follows:

−h˙ RW

⎧ ⎪ ⎨

⎛ ⎞⎫ Q11 φ ⎪ ⎬ ⎜ ⎟ = J u + ⎝ 0 ⎠ + RωR × hRW ⎪ ⎪ ⎩ ⎭ G31 φ˙ ⎧ ⎞⎫ ⎛ ⎪ Q11 φ ⎪ ⎨ ⎬ ⎟ ⎜ = J −K d ϕ˙ − K p ϕ + ⎝ 0 ⎠ + RωR × hRW ⎪ ⎪ ⎩ ⎭ G31 φ˙

148

5 Attitude and Momentum Control

with the proportional and derivative gain matrices ⎡

kp,x ⎢ Kp = ⎣ 0 k kp,x ⎡ kd,x ⎢ Kd = ⎣ 0 k kd,x

0 kp,y 0 0 kd,y 0

⎤ 0 ⎥ 0⎦ 0 ⎤ 0 ⎥ 0⎦ 0

While we have considered PD-type controllers in roll and pitch, these matrices can be formulated accordingly for other types of controllers. The third column of each matrix is zero because yaw information is not available.

5.4.2

Precision Pointing Control

For precision pointing applications, the angular rate of the reference system is either zero (i.e., the reference attitude is inertially fixed) or constant and small, e.g., for Earth pointing. By definition, the attitude deviation from the reference is very small. Moreover, precise sensors for attitude and angular rate are available. For these reasons, precision attitude control is actually simpler than other spacecraft control tasks in many ways. The major difficulty is the analysis and the design with respect to specific performance metrics. This is explained in the following subsections. Design Equations For small deviations from the reference frame we can immediately linearize the rotational kinematics (2.15) and get ϕ˙ = ω. The dynamics including reaction wheels are given by (2.29), which is repeated here in a slightly different form: ω˙ = −J −1 ω × (J ω + hRW ) − J −1 h˙ RW + J −1 l Depending on the actuators in use, we define a new input that leads to a linear description of the dynamics. In case of reaction wheels, we define the input u = −J −1 ω × (J ω + hRW ) − J −1 h˙ RW The body-fixed actuation signal of the wheels is then h˙ RW = −J u + ω × (J ω + hRW ). With small rates and a wheel momentum close to zero, it simplifies to h˙ RW = −J u. When

5.4 Linear Attitude Control

149

thrusters are used for control actuation, the input is u = −J −1 ω × J ω + J −1 l Here, the body-fixed actuation signal to the thruster system is l = J u − ω × J ω. For small rates, the gyric term can be neglected. Both actuation cases lead to the same simple design plant: ϕ¨ = u + d ,

(5.55)

where we have included the external specific disturbance torque d. Equation (5.55) consists of three decoupled double-integrator plants. Therefore, we can use a single double-integrator for analysis and design purposes in the following.

Simple Controllers In Fig. 5.7, a single-axis precision control task is depicted as a standard control loop. We have the following closed loop transfer functions from the input disturbance d and the measurement noise n to the control error e = ϕ − ϕR : e(s) = S(s) G(s) d(s) − S(s) ϕR (s) − T (s) n(s) , where G(s) = 1/s 2 denotes the plant dynamics and S and T are the sensitivity function and complementary sensitivity function [8]: S(s) = (1 + G(s) K(s))−1

T (s) = (1 + G(s) K(s))−1 G(s) K(s)

Very often, we can set ϕR = 0. A PID-type controller is adequate because it rejects constant input disturbances: K(s) =

kd s 2 + kp s + ki ki + kp + kd s = s s

For design purposes, the differential part can be considered without delay because the rate can be measured by gyroscopes or is available from a sufficiently fast estimator. The Fig. 5.7 Standard control loop for precise pointing R







150

5 Attitude and Momentum Control

closed-loop transfer functions are: S(s) G(s) =

s3

+ kd

s2

s + kp s + ki (5.56)

kd s 2 + kp s + ki T (s) = 3 s + kd s 2 + kp s + ki ˆ we get From (5.56), we see that for a constant disturbance with magnitude d, e∞ = lim s S(s) G(s) s→0

dˆ =0 s

If a PD-type controller is used with a constant torque disturbance, there would be a remaining stationary control deviation. The design of the proportional-integral-derivative (PID) controller can be accomplished with conventional approaches, e.g., pole placement or open loop shaping. In case of pole placement, the three gains ki , kd , and kp are chosen such that the roots of the characteristic polynomial s 3 + kd s 2 + kp s + ki are the prescribed poles. In case of open loop shaping, the three parameters of the numerator polynomial kd s 2 + kp s + ki can be considered as two zeros and a gain that can be used to shape the open loop frequency response. In both cases, the essential design parameter is the closed loop bandwidth, or similarly, the 0 dB crossover frequency of the open-loop transfer function. With an appropriately designed controller and given spectral densities Sd and Sn of the specific disturbance torque and the measurement noise, respectively, the spectral density of the pointing error can be computed:16 1/2

Se

1/2

= |S( jω) G( jω)| Sd

1/2

+ |T ( jω)| Sn

(5.57)

Normally, we are interested in a windowed variance, as described in the first chapter. This is: ) ∞ 1 2 σWV = (5.58) |FWV |2 |S( jω) G( jω)|2 Sd + |FWV |2 |T ( jω)|2 Sn dω , 2π 0 where the weighting filter FWV is defined in Sect. 1.5.2. It can be replaced by other filters to obtain a corresponding error class description. A special case is F = 1, which results in the conventional variance.

16 Unfortunately, this is another case where notation conventions collide. We try to reduce the ambiguity by explicitly including the dependence of the sensitivity function S(s) on the Laplace variable. The power spectral density, on the other hand, depends on ω, but never on s or jω.

5.4 Linear Attitude Control

151

With given input spectral densities, (5.58) can now be evaluated for a varying bandwidth or varying 0 dB crossing frequency, i.e., the remaining design parameter of a conventional single axis control design. This will quantify the contributions of the disturbance and measurement noise to the pointing error in terms of (windowed) variance. Equation (5.58) can also be used to derive specifications of the closed-loop bandwidth 1/2 1/2 together with specifications of Sd and Sn .

Closed Loop Shaping A beneficial tool for pointing control design is H∞ closed loop shaping. In fact, with H∞ methods one cannot optimize pointing requirements that are formulated as variances or windowed variances directly. This would require H2 optimization instead. Nevertheless, these methods are very convenient for practical reasons, because the shapes of the closed loop frequency responses determine several properties that are of importance during a design process: the dynamic behaviour, i.e. closed loop bandwidth and damping, the rejection of deterministic disturbances at frequencies lower than the closed loop bandwidth, the rejection of measurement noise at higher frequencies, and robustness against model uncertainties. When using H∞ methods, the actual performance with respect to windowed variances has to be checked after the design, hence the overall procedure may require several iterations. We assume a control loop as shown in Fig. 5.8. The reference value is assumed to be zero for pointing tasks. Again, we are considering decoupled attitude dynamics and therefore, single-input single-output (SISO) systems for each axis of motion. Measurement noise and input disturbances (i.e., specific torque) are denoted by n and d, their spectral densities are Sn and Sd , respectively. The latter are given or can be derived from sensor,

1 2

∞ | 0

|2

1/ 2

d

index

1 2

=0



Fig. 5.8 Control loop with performance measures

∞ 0

1/ 2

d

rms

152

5 Attitude and Momentum Control

system, and mission specifications. The closed loop transfer functions are      e −S(s) G(s) T (s) d = , u −T (s) −K(s) S(s) n

(5.59)

where S and T are again the sensitivity function and complementary sensitivity function. The result of an H∞ closed loop optimization is a controller K(s), with which all closed loop transfer functions can be evaluated. Then the performance index and the actuation effort can be calculated similar to the case of a simple controller: σ 2 = u2RMS =

1 2π 1 2π

) )

0

0

∞

|F |2 |S( jω) G( jω)|2 Sd + |F |2 |T ( jω)|2 Sn dω

∞

|T ( jω)|2 Sd + |K( jω) S( jω)|2 Sn dω

The actual controller design requires specification Sspec (s) and Tspec (s) for the closed loop according to well known rules [8]. These specifications are the essential engineering design parameters. Typical shapes are schematically shown in Fig. 5.9. Sspec (s) is a high pass for low frequency disturbance rejection, Tspec (s) is a low pass for high frequency measurement noise rejection; both are typically of first or second order. Because S(s) + T (s) = 1, a feasible control design problem requires |Sspec (s) + Tspec (s)| ≥ 1 or |Sspec (s)| + |Tspec (s)| ≥ 1. For adequate damping, both specifications should not exceed 6 dB. The closed loop bandwidth will be typically between the 0 dB crossover frequencies of both specifications.

|· | 0 dB crossover frequencies 6 dB 0 dB spec

range of closedloop bandwidth (should be small)

1st or 2nd order slopes

Fig. 5.9 Properties of closed loop specifications

spec

References

153

1

1

=

2

2

− =0



W Fig. 5.10 Weightings for the SG/T optimization setup

For the given structure of the control loop an optimization setup as SG/T problem is adequate [4]. This is shown in Fig. 5.10. The weighting functions WSG (s) and WT (s) are the inverses of the corresponding specifications. Depending on the optimization method (Riccati-based), an additional constant and small weighting Wn (s) must be added for computational reasons [4]. The resulting controller might need some adjustments such as order reduction. For pointing tasks it is usually desired to implement a integral part in the controller. A pragmatic approach in case of a SISO controller is to manually set the slowest pole to zero. Finally, adequate or achievable pointing performance measures σ 2 and u2RMS can be found by a number of controller designs with varying closed loop bandwidth specification over a desired frequency range. The bandwidth can be easily adjusted by the 0 dB crossover frequencies of Sspec (s) and Tspec (s).

References 1. Avanzini, G., Giulietti, F.: Magnetic detumbling of a rigid spacecraft. J. Guid. Control Dynam. 35(4), 1326–1334 (2012). https://doi.org/10.2514/1.53074 2. Bani Younes, A., Mortari, D., Turner, J.D., Junkins, J.L.: Attitude error kinematics. J. Guid. Control Dynam. 37(1), 330–336 (2014). https://doi.org/10.2514/1.60928 3. Barkana, I.: Can stability analysis be really simplified? (Revisiting Lyapunov, Barbalat, LaSalle and all that). In: ICNPAA 2016 World Congress (2017). https://doi.org/10.1063/1.4972609

154

5 Attitude and Momentum Control

4. Christen, U.: Engineering Aspects of H∞ Control. Ph.D. thesis, ETH Zurich (1996). https://doi. org/10.3929/ETHZ-A-001624614 5. Geshnizjani, R., Fichter, W.: Steering law for control moment gyroscopes with online torque capacity maximization. J. Guid. Control Dynam. (2020). Submitted, draft available upon request 6. Markley, F.L., Crassidis, J.L.: Fundamentals of Spacecraft Attitude Determination and Control. Springer, New York (2014). https://doi.org/10.1007/978-1-4939-0802-8 7. Mayhew, C.G., Sanfelice, R.G., Teel, A.R.: Quaternion-based hybrid control for robust global attitude tracking. IEEE Trans. Autom. Control 56(11), 2555–2566 (2011). https://doi.org/10. 1109/tac.2011.2108490 8. Skogestad, S., Postlethwaite, I.: Multivariable Feedback Control. Wiley (2005) 9. Verbin, D., Lappas, V.J.: Rapid rotational maneuvering of rigid satellites with hybrid actuators configuration. J. Guid. Control Dynam. 36(2), 532–547 (2013). https://doi.org/10.2514/1.56405 10. Wie, B.: Space Vehicle Dynamics and Control, 2nd edn. AIAA education series. American Inst. of Aeronautics and Astronautics, Reston, VA (2008) 11. Wie, B., Lu, J.: Feedback control logic for spacecraft eigenaxis rotations under slew rate and control constraints. J. Guid. Control Dynam. 18(6), 1372–1379 (1995). https://doi.org/10.2514/ 3.21555 12. Wie, B., Weiss, H., Arapostathis, A.: Quaternion feedback regulator for spacecraft eigenaxis rotations. J. Guid. Control Dynam. 12(3), 375–380 (1989). https://doi.org/10.2514/3.20418 13. Yoshikawa, T.: Steering law for roof type configuration control moment gyro system. Automatica 13(4), 359–368 (1977). https://doi.org/10.1016/0005-1098(77)90018-8 14. Yuan, J.S.: Closed-loop manipulator control using quaternion feedback. IEEE J. Robot. Autom. 4(4), 434–440 (1988). https://doi.org/10.1109/56.809

6

Accelerometers and Drag-Free Control

Abstract

The purpose of an accelerometer is to measure non-gravitational specific forces, whereas a drag-free system aims at reducing non-gravitational forces on a test mass. Both measurement and reduction of non-gravitational forces are important prerequisites for scientific satellite missions in fundamental physics and geodesy. In this chapter, the main principles are explained and methods for the control design of drag-free systems are discussed.

6.1

Accelerometer

An accelerometer measures external non-gravitational forces. The basic principle of a conventional accelerometer is the suspension of a test mass to its cage, which in turn is attached to the spacecraft. This is shown in a schematic view in Fig. 6.1. The suspension force is typically realized by an electrostatic system. It allows to generate forces and torques along all six degrees of freedom of the test mass.1 Details of an electrostatic actuation system are beyond the scope of this book and can be found in e.g. [1]. In the following, the principle of an accelerometer will be described detail and we will see that all specific forces2 that are applied to the cage, except gravitational forces, can be measured.

1 Electrodes attached inside the cage form capacitances with the test mass. Applying voltages

to these electrodes creates forces and torques. This mapping is nonlinear and thus, the inverse (actuation) problem is difficult. 2 Forces per unit mass. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_6

155

156

6 Accelerometers and Drag-Free Control

Fig. 6.1 Schematic view of an accelerometer

The fundamental model of a test mass in a cage is given by the third block row of (2.63): − mM T CB [( Br C + Br M )×] Bω˙ B/I + mM Cr¨ M . . . + mM T CB [ Bω B/I ×]2 ( Br C + Br M ) + 2 mM CωB/I × Cr˙ M = Cf M −

mM f mB C B (6.1)

Dividing (6.1) by the mass mM of the test mass and omitting the lower left index C yields   fM fB r¨ M = − [ωB/I ×]2 + [ω˙ B/I ×] (r C + r M ) − 2 ωB/I × r˙ M + − mM mB

(6.2)

with all variables expressed in the cage frame. def

From now on, let ω = ωB/I . Now we assume that there is an internal suspension force f int between the main spacecraft and the test mass and, in addition, an external force f ext that contains all external non-gravitational forces applied to the spacecraft main body. Then, f M = f int and f B = −f int + f ext . Furthermore, we have to take into account the gravity gradient force between the spacecraft body and the test mass, which is given by U (r C + r M ).3 With these forces, (6.2) becomes r¨ M

    f ext mM f int 2 = − [ω×] + [ω×] ˙ (r C +r M )−2 ω× r˙ M +U (r C +r M )− + 1+ mB mB mM (6.3)

The mass ratio mM /mB is usually very small. We now aim at measuring all external specific forces f ext /mB , whose main contribution is usually the drag force. To this end, (6.3) can be further simplified by design: •

If the center of mass of the test mass and the center of mass of the spacecraft body coincide, then r C = 0. This means that all nominal (r M = 0) contributions

3 Its computation for an Earth orbiting spacecraft is given in Appendix C.

6.1 Accelerometer

• • •

157

of centrifugal and angular accelerations as well as the gravity gradient force are eliminated. If the spacecraft body nominally does not rotate, i.e., ω = ω˙ = 0, then the centrifugal, angular, and Coriolis accelerations can be neglected. The orbit can be chosen such that the gravity gradient U is small, which further reduces the gravity gradient effect. There are usually unknown or uncertain force contributions to f int , in particular magnetic and electrostatic forces and, possibly, auto-gravity forces. These must be made sufficiently small by design such that f int can be considered as known.

Under these conditions, we get   mM f int f ext r¨ M = 1 + − mB mM mB Assuming that the internal force f int does not depend on the test mass deviation r M , this model behaves as a double integrator, which is an unstable system. In practice, there might be even a negative stiffness effect.4 In any case, a stabilization of the test mass can provide a stable steady state with r¨ M ≈ 0. Then, f int /mM is simply a measure of f ext /mB . Stabilization could be realized mechanically with a spring-type suspension. In the following, we discuss a stabilization with a feedback control loop as shown in Fig. 6.2. By design, the only internal force is the control actuation, while all other contributions shall be negligible. This is consistent with the assumptions above. Therefore, we have u = f int /mM and the specific drag force d = f ext /mB . The closed loop transfer function from the external drag to the internal suspension force is given in the frequency domain by: u(s) = (I + K sus (s) G(s))−1 K sus (s) G(s) d(s) Remember that all forces are expressed as specific forces. Since we do not consider any coupling effects at this point, the plant dynamics G(s) consist of three decoupled double ( )

M,c

=0



sus (

)

( )



( )=

1 2

M

Fig. 6.2 Feedback control loop for test mass suspension

4 A small test mass deviation from its nominal position leads to a force that drives the test mass even further away. We can think of a magnetic field.

158

6 Accelerometers and Drag-Free Control

Fig. 6.3 Closed loop transfer function of a suspension control loop

|

sus (j

)| suspension closed-loop bandwidth

0 dB −3 dB

integrators. Accordingly, the controllers can be designed independently, i.e., K sus (s) = diag{Ksus,i (s)}. Then, each axis has a closed loop transfer function of the form ui (s) =

Ksus,i (s) Gi (s) di (s) = Tsus,i (s) di (s) 1 + Ksus,i (s) Gi (s)

i = 1...3

A typical profile of the closed loop transfer functions is depicted in Fig. 6.3. Usually, the controllers Ksus,i (s) are designed such that the closed loop bandwidth is relatively high, typically in the order of tens of Hertz. At frequencies well below that, we have ui ≈ d i

(6.4)

Equation (6.4) is the basis of an accelerometer as the measured control effort u corresponds to the sum of all external specific forces d = f ext /mB . It should be kept in mind that all remaining internal disturbances within the closed loop bandwidth will also be transferred to the suspension force with gain one, which leads to a corresponding inaccuracy in the drag measurement. The modeling so far did not consider any stiffness, i.e., we did not account for any suspension contribution that depends on the displacement r M . Such contributions are originated by spatial gradients of DC forces.5 With a large bandwidth of the suspension closed loop, they have little effect on the suspension control design, but they introduce measurement errors. Therefore, it is important to keep the test mass displacement r M small.

5 Constant forces, i.e., approximately zero frequency.

6.2 Drag Compensation

6.2

159

Drag Compensation

The measurement provided by an accelerometer can further be used to counteract external drag forces. A schematic view is shown in Fig. 6.4. Drag compensation is especially useful in missions where accelerometers are used for scientific measurements, e.g., Earth gravity measurement missions: it leads to an overall drag reduction, which in turn allows higher precision. The principles of drag compensation can be represented as a control loop as shown in Fig. 6.5. In addition to the external specific drag force d, there is a drag compensation force ucmp generated by an actuator, usually one or several thrusters. The plant for drag compensation is given by the closed-loop transfer function of the accelerometer suspension loop. Usually, drag compensation loops can have a relatively low bandwidth, well below that of the accelerometer. In this frequency range, the transfer function of the accelerometer is equal to one and we can assume a static behaviour. Again, all axes can be considered as being decoupled. Under these conditions, a simple integral controller may be sufficient for drag compensation, at least for a preliminary design: ucmp,i (s) = Kcmp,i (s) usus,i (s)

Fig. 6.4 Schematic view of drag compensation drag ( ) suspension closed loop



cmp (

)

cmp (

)

Fig. 6.5 Drag compensation control loop

sus (

)≈

sus (

)

drag measurement

160

6 Accelerometers and Drag-Free Control

Fig. 6.6 Typical closed loop transfer functions of drag compensation

|· |

compensation closedloop bandwidth 0 dB −3 dB

| |

cmp (j

cmp (j

)|

)|

with Kcmp,i (s) = kI /s, where kI is the control gain. With Gi (s) = Tsus,i ≈ 1, this leads to the closed loop transfer functions s usus,i (s) = Scmp,i (s) Gi (s) di (s) = di (s) ,   s + kI ≈1

ucmp,i (s) = −Tcmp,i (s) di (s) = −

kI di (s) , s + kI

which are depicted in Fig. 6.6. The bandwidth of this control loop is kI and the slope of the sensitivity function is 20 dB/decade. In practice, higher order controllers can be designed that provide better compensation at low frequencies, even with a smaller bandwidth. Since there are no plant dynamics, i.e., Tsus,i (s) ≈ 1, the sensitivity function is Scmp,i (s) = (1 + Kcmp,i (s))−1 , which allows to recover a controller directly from the specification of the sensitivity function: Kcmp,i (s) = Sspec,i (s)−1 − 1 , where Sspec,i (s) is the specification for the closed loop sensitivity function. The processing of delays may lead to limitations of such a controller and must be considered in the analysis of the closed loop.

6.3

Drag-Free Control of a Cubic Test Mass

6.3.1

Objective and Principle

The fundamental principle of a drag-free system is the best possible isolation of a test mass from all non-gravitational forces [5]. Ideally, the test mass follows gravitational influences only. This is accomplished by a control system that lets the spacecraft follow the test mass

6.3 Drag-Free Control of a Cubic Test Mass

161

along both linear and angular degrees of freedom; thus, the test mass moves freely inside its cage. In a sense, it is just the opposite of an accelerometer, where the test mass follows (is suspended to) the spacecraft. The drag-free principle has its limitations with a cubic test mass shape, as will be explained below. The basic equation of a drag-free system is the same as for an accelerometer, i.e., (6.3), which is repeated here. r¨ M

    f ext mM f int 2 = − [ω×] + [ω×] ˙ (r C + r M ) − 2 ω × r˙ M + U (r C + r M ) − + 1+ mB mB mM

(6.5) The elimination of all non-gravitational influences is accomplished by the following: • •

All internal forces can be considered as disturbances d int = f int /mM and must be made small by design of the instrument. This includes internal actuation forces. All right-hand side terms of (6.5) other than internal forces must be compensated by a drag-free controller that relies on external actuation forces. Therefore, we subdivide the total external force into a drag force and an actuation force, i.e., f ext /mB = d +udf , where udf is the drag-free control actuation and d contains all specific external disturbance forces (drag).

In a similar way, the angular motion can be kept drag-free. However, in a real mission, there is one more important functional requirement: The spacecraft attitude must be controlled with respect to a reference system that takes into account proper telemetry communications and Sun illumination conditions. This leads to a controllability conflict between drag-free control and spacecraft attitude control, which will become clear in detail in the following subsection.

6.3.2

Control Loop Structure

A single cubic test mass is considered as a representative non-spherical test mass. A sketch of the basic configuration is shown in Fig. 6.7. We will design an attitude controller and a drag-free controller for this case and we will see that the drag-free condition for the test mass has a lower frequency limit. The principle for an extension to two test masses is described in [3]. Linearized Dynamics The complete dynamics of the configuration shown in Fig. 6.7 can be derived from Eqs. (2.63), (2.64), and (2.65) through linearization around an operating point. For this operating point, we consider a test mass at rest, centered in its cage and an inertial reference

162

6 Accelerometers and Drag-Free Control

Fig. 6.7 Schematic view of drag-free control

attitude for the spacecraft, i.e., the nominal rate of the spacecraft is zero. In that case, the linearized dynamics are ⎡

BJ B ⎢ ⎣−mM T CB [ Br C ×] MJ M T MB

0 mM I 0

⎤⎛ ⎞ ⎛ ⎞ ϕ¨ 0 Bl B ⎥⎜ ⎟ ⎜ ⎟ 0 ⎦ ⎝ Cr¨ M ⎠ = ⎝ Cf M − mM /mB Cf B ⎠ , ϕ¨ M Ml M MJ M

where we have dropped the inertial position because there are no couplings with other coordinates. We now invert the mass matrix and get ⎞ ⎡ 0 ϕ¨ ⎜ ⎟ ⎢ ⎝ Cr¨ M ⎠ = ⎣−T CB ϕ¨ M 0 ⎛

I T CB [ Br C ×] −T MB

0 I 0

⎤ 0 ⎥ 0⎦ I



Bf B /mB −1 BJ B Bl B



⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ Cf M /mM ⎠ −1 MJ M Ml M

In the following, we will re-arrange this model in order  to simplify  the control design. def

First, we introduce the test mass coordinates x  M = specific forces into control actuation and disturbances:

 aM =

ϕ M

and subdivide the



 aB =

 Cr M

Bf B /mB −1 BJ B Bl B Mf M /mM −1 MJ M Ml M

= uB + d B ,  = uM + d M − Q x M ,

where uB and uM are actuation commands and d B and d M are disturbances. The term Q x M represents a stiffness,6 which we assume to be diagonal. Next, we define the

6 The stiffness may be negative, representing instability rather than undamped oscillations.

6.3 Drag-Free Control of a Cubic Test Mass

163

matrices B Att and B M as follows:   def B Att = 0 I  def −T CB BM = 0

T CB [ Br C ×] −T MB



Then, the dynamics can be written as 

ϕ¨ x¨ M





  0 I

B Att = BM

      dB 0 0 uB ϕ + + , uM dM 0 −Q xM

which is an appropriate description for the subsequent control design.

Control of Drag-Free Coordinates The coordinates to be drag-free controlled are simply the test mass coordinates x M . Dragfree control is realized by external actuation according to the drag-free concept. To this end, we first introduce actuation signals uT such that the test mass coordinates can be actuated independently. This corresponds to the transformation uT = B M uB , uB = B −1 M uT The disturbances are redefined in the same manner, i.e., d T = B M d B , and we get 

ϕ¨ x¨ M



 



B Att B −1 M = I

    uT dT 0 + + uM dM 0

0 I

  0 ϕ −Q xM

(6.6)

The actuation forces and torques expressed in spacecraft body coordinates and provided by the thrusters are then given by: 

 f thr l thr

 mB I = 0

 0 JB

B −1 M uT

The system (6.6) can now be transformed into the frequency domain, which yields 

s2 I 0

 0 s2 I + Q

  ϕ(s) B Att B −1 M = I x M (s)

  0 I

   d T (s) uT (s) + uM (s) d M (s)

164

6 Accelerometers and Drag-Free Control

or 

  ϕ(s) G(s) B Att B −1 M = GM (s) x M (s)

  0 GM (s)

   uT (s) d T (s) + , uM (s) d M (s)

(6.7)

where G(s) represents the spacecraft attitude dynamics and GM (s) describes the relative test mass motion in six degrees of freedom: G(s) =

1 I s2



GM (s) = diag

1 s 2 + Qi



(6.8) ,

i = 1, . . . , 6

The Qi may be negative whenever there is an instability, caused for example by autogravity. With the model (6.7), the drag-free control, i.e., the control of the coordinates x M with external forces becomes simple. We define      uT (s) 0 −K df (s) ϕ(s) = (6.9) uM (s) 0 0 x M (s) with a diagonal controller K df (s). Inserting (6.9) into (6.7) yields the closed loop system 

  ϕ(s) G(s) B Att B −1 M S df (s) = GM (s) S df (s) x M (s)

−G(s) B Att B −1 M T df (s) GM (s) S df (s)



 d T (s) , uM (s) + d M (s) (6.10)

where S df (s) is the sensitivity function of the drag-free closed loop:7 S df (s) = (I + GM (s) K df (s))−1 Both K df (s) and GM (s) are diagonal, therefore the upper right term in the transfer matrix in (6.10) can be written as −G(s) B Att B −1 M T df (s), where T df (s) is the complementary sensitivity function of the drag-free closed loop: T df (s) = (I + GM (s) K df (s))−1 GM K df (s) Note that all transfer functions in the second block row of (6.10) are diagonal.

7 Unlike above, the transfer functions are matrices here. This means that, in general, the prod-

uct GM (s) K df (s) does not commute, hence there are two ways to define the sensitivity function. In our case, however, both K df (s) and GM (s) are diagonal, thus we can ignore this complication and refer the interested reader to [8, ch. 3] for more details on the general case.

6.3 Drag-Free Control of a Cubic Test Mass

165

Attitude Control In addition to the control of the test mass relative motion, there is the requirement to control the attitude of the spacecraft, which provides proper thermal, power, and communications conditions. By simple illustration, it is clear that the spacecraft motion must eventually be accomplished with thrusters.8 However, feeding back the measured spacecraft attitude to external forces and torques will lead to a conflict with the drag-free control loop. This can be seen in the drag-free closed-loop system (6.10), where the upper left entry shows that any external actuation d T will be suppressed by the drag-free closed-loop sensitivity function S df (s), which is small by design at frequencies lower than the dragfree bandwidth. This conflict between drag-free control and attitude control can only be solved by frequency separation, which means that the attitude control must be active at low frequencies, in fact down to frequency zero because the absolute attitude has to be controlled. Drag-free conditions can be realized only at frequencies higher than the attitude control closed-loop bandwidth, where the attitude control loop is not active any more. The preferred way to implement attitude control is to feed back the inertial attitude signal to the internal suspension actuation signal, i.e., the internal torques. The transfer function for design purposes is the upper right element in (6.10): −1 ϕ(s) = −G(s) B Att B −1 M T df (s) uM ≈ −G(s) B Att B M uM

The approximation is justified because T df (s) ≈ I within the drag-free bandwidth. Recall from (6.8) that G(s) is simply a diagonal transfer function with three double integrators. Therefore, decoupling the inputs will result in decoupled attitude controllers. The overall control law is then ⎤   ⎡  0 −K (s) df uT (s) ϕ(s) † ⎦ (6.11) = ⎣ uM (s) x M (s) K att (s) 0 B Att B −1 M With this control law, the test masses are actuated at low frequencies based on spacecraft attitude measurements (for example, provided by star sensors) and the spacecraft follows the test mass with the drag-free closed loop control. The matrix (B Att B −1 M ) can be easily computed in the case of a single test mass: B Att B −1 M

  −T CB = 0 I 0 

−1   T CB [ Br C ×] = 0 −T BM , −T MB

(6.12)

8 Drag-free spacecraft shall be disturbance free by definition, therefore any moving part must be avoided for system design. This includes also momentum exchange devices.

166

6 Accelerometers and Drag-Free Control

x

Fig. 6.8 Closed loop control structure

where T BM is the (inverse of the) attitude of the test mass with respect to the spacecraft. The inverse of (6.12) is ambiguous. A reasonable choice is the Moore-Penrose pseudoinverse:    † 0 B Att B −1 = , M −T MB i.e., the rotational degrees of freedom of the test mass are used for actuation of the spacecraft attitude. The overall structure of the closed loop system is represented by the Eqs. (6.7) and (6.11). This is shown as a block diagram in Fig. 6.8, where measurement noise inputs nx , nϕ are also included.

6.3.3

Closed Loop and Controller Design

Closed Loop Subsystems When designing a drag free control system with the control structure above, the question remains what performance limitations we can expect. In other words, what is the achievable performance of the test mass displacements from its nominal position and attitude given the external inputs to the closed loop system, i.e., measurement noise and force disturbances? This question is strongly connected to the task of designing controllers, i.e., the transfer functions K df (s) and K att (s). In principle, any design method can be applied that seems suitable for multiple input multiple output (MIMO) systems. Since both the drag-free control variables and the external inputs are usually modelled as noise signals, they can be readily expressed as spectral densities of Gaussian processes. A suitable controller design approach for such a problem is the H∞ closed loop shaping method. With this approach, we first specify closed loop transfer functions

6.3 Drag-Free Control of a Cubic Test Mass

167

(e.g., sensitivity and complementary sensitivity functions) and then calculate a controller with standard numerical tools. A very advantageous property of this approach is the fact that the feasibility of the design problem, i.e., the proper and feasible formulation of the requirements, can already be checked during the specification process. In the following, we describe the derivation of the closed loop specifications for the drag-free control problem with the control structure of Sect. 6.3.2. To this end, we derive analytical expressions for the closed control loops. The basis for this are the spacecraft dynamics model (6.7) and the controller (6.11). Inserting (6.11) into (6.7) leads to a closedloop system that can formally be described by: ⎞ ⎡ M 11 ϕ ⎜ ⎟ ⎢ ⎜x M ⎟ ⎢M 21 ⎜ ⎟=⎢ ⎝ uT ⎠ ⎣M 31 uM M 41 ⎛

M 12 M 22 M 32 M 42

⎤ M 14 ⎥ M 24 ⎥ ⎥ M 34 ⎦ M 44

M 13 M 23 M 33 M 43



⎞ nϕ ⎜ ⎟ ⎜ nx ⎟ ⎜ ⎟ ⎝ dT ⎠ dM

The closed-loop system consists of two interconnected loops as shown in Fig. 6.8. The drag-free control loop is usually designed with a much higher bandwidth than the attitude control loop, hence the two loops are separated in frequency. From the point of view of the drag-free control, the attitude control loop is open (low bandwidth, small control gain) and the test mass actuation uM acts like a disturbance to the drag-free loop. On the other side, from the point of view of the attitude control loop, the drag-free control loop has a transfer function of minus one from uM to uT because of its relatively large bandwidth. Therefore, it is reasonable to divide the overall closed loop system into two subsystems for design purposes. The drag-free control loop is then given by    xM M 22 = uT M 32

 M 23 M 33



nx dT

and the attitude control control loop by 

 ϕ uM

 M 11 = M 41

 M 14 M 44

 nϕ dM

For the derivation of closed-loop specifications, we need analytical expressions of the M ij . Instead of formally calculating them using (6.7) and (6.11), we derive them directly from the block diagram in Fig. 6.8. The notation is simplified by introducing B = B att B −1 M . For the drag-free loop, we neglect the inputs uM and d M , i.e., the attitude control loop, and get x M (s) = −T df (s) nx (s) + S df (s) GM (s) d T (s)

(6.13)

uT (s) = −K df (s) S df (s) nx (s) − K df (s) S df (s) GM (s) d T (s)

(6.14)

168

6 Accelerometers and Drag-Free Control

The drag-free closed loop is very fast compared to the attitude control loop. Therefore, we consider a negative unit transfer function, i.e., −(uM + d M ) ≈ uT + d T . It follows ϕ(s) = −G(s) B (d M (s) − B † K att (nϕ (s) + ϕ(s)) = −T att (s) nϕ (s) − S att (s) G(s) B d M (s) and   uM (s) = B † K att (s) nϕ (s) − G B [uM (s) + d M (s)] = B † S att (s) K att (s) nϕ (s) − B † S att (s) K att (s) G(s) B d M (s) For design purposes, we consider GM (s) to be diagonal. Since G(s) is exactly diagonal and K att (s) and K df (s) are chosen to be diagonal, the closed loop transfer functions S att (s), S df (s), T att (s), and T df (s) are all diagonal as well. Therefore, we can treat single-input single-output (SISO) systems in the following.

Closed Loop Specifications First, we (re-)introduce some notation: A Gaussian noise signal can be described by its power spectral density S or its square root S 1/2 . Furthermore, a requirement or 1/2 specification of a spectral density is denoted by Sreq . A scalar signal, e.g., the i-th component of the vector u, is denoted by (u)i . Finally, we denote the required (or 1/2 specified) square root of the power spectral density of a scalar signal (u)i by Sreq {(u)i }. Remember that spectral densities are functions of frequency, which we will not write explicitly for ease of notation. Now, we take the second term on the right-hand side of (6.13), which represents the closed-loop transfer function M 23 . We consider a single axis i and we require (choose) that the spectral density of the test mass deviation due to force disturbances 1/2 shall be Sreq {(x M )i }. Moreover, we assume a specification of the force disturbance or 1/2 the equivalent output disturbance of the form Sreq {(GM d T )i }. Then it must be 1/2

1/2

Sreq {(x M )i } ≥ |Sdf (s)|spec,i Sreq {(GM d T )i } , which can simply be solved for the specification of the sensitivity function: 1/2

|Sdf (s)|spec,i ≤

Sreq {(x M )i } 1/2

Sreq {(GM d T )i }

6.3 Drag-Free Control of a Cubic Test Mass

169

Similarly, a specification for the complementary sensitivity function can be obtained from the first term on the right-hand side of (6.13), corresponding to the closed loop transfer function M 22 : 1/2

|Tdf (s)|spec,i ≤

Sreq {(x M )i } 1/2

Sreq {(nx )i }

The two terms in (6.14) corresponding to M 32 and M 33 yield 1/2

|Kdf (s) Sdf (s)|spec,i ≤

Sreq {(uT )i } 1/2

Sreq {(nx )i } 1/2

|Tdf (s)|spec,i ≤

Sreq {(uT )i } 1/2

Sreq {(d T )i }

The specification for Kdf (s) Sdf (s) can also be expressed as a specification for Tdf via multiplication with GM , which yields: 1/2

|Tdf (s)|spec,i ≤

Sreq {(GM uT )i } 1/2

Sreq {(nx )i }

For the attitude control loop, we apply this procedure accordingly and get from the transfer functions M 14 and M 41 : 1/2

|Satt (s)|spec,i ≤

Sreq {(ϕ)i } 1/2

Sreq {(GBd M )i } 1/2

|Tatt (s)|spec,i ≤

Sreq {(GBuM )i } 1/2

Sreq {(nϕ )i }

Further requirements for Tatt (s) derived from the transfer functions M 11 (measurement noise to attitude) and M 44 (test mass disturbance to actuation) are usually not driving. With all of the specifications obtained so far, an overall specification for the sensitivity and complementary sensitivity function must then be fitted by a lower bound. This bound is then used as an input for the H∞ design procedure. When not all closed-loop transfer functions are used for specification purposes (as it is proposed here), the compatibility of the design must be checked after the controller design, i.e., with a given controller. If there is a violation, the corresponding closed-loop transfer function must be included in the derivation process for the closed-loop specifications. An application example for the design process with two cubic test masses can be found in [2], corresponding flight results in [7].

170

6.4

6 Accelerometers and Drag-Free Control

Notes on Spherical Test Mass

In the previous section it has been shown that at least three suspension actuation directions had to be used for spacecraft attitude control. This is actually in contradiction to the dragfree condition, which by definition shall be completely free of any suspension force. A compromise was achieved through frequency separation: high drag-free bandwidth with propulsion and low attitude control bandwidth using suspension forces/torque. The need for such a frequency separation is inherent to all non-spherical test masses, because in this case drag-free coordinates exist that all require propulsion actuation and thus, no propulsion actuation direction is left for spacecraft attitude control. One could argue that less than six degrees of freedom should be drag-free controlled, then the remaining actuation space could be used for spacecraft attitude control. In that case, however, the remaining relative degrees of freedom must be stabilized with dedicated suspension control loops, which may even lead to a worse situation overall, because suspension loops have a lower bandwidth limit due to the negative stiffness dynamics (i.e., instability). The only possibility to reduce the number of drag-free coordinates is to eliminate some of them by design. This can be accomplished by a spherical test mass shape: the relative pose of a sphere with respect to a spacecraft is invariant to its relative angular motion. In fact, this reduces the drag-free problem to three degrees of freedom, which simplifies control design accordingly. The technological limit of this approach is the achievable precision of the spherical shape. Imprecision can be attenuated by introducing a spinning motion of the sphere, which corresponds to a mechanical modulation of the imprecision to frequencies higher than the science measurement bandwidth. Further information about this concept can be found in [4, 6].

References 1. Brandt, N., Fichter, W.: Revised electrostatic model of the LISA Pathfinder inertial sensor. In: 7th International LISA Symposium, Journal of Physics: Conference Series 154, vol. 154, p. 012008. IOP Publishing ltd. (2009). https://doi.org/10.1088/1742-6596/154/1/012008 2. Fichter, W., Schleicher, A., Benanni, S., Wu, S.: Closed loop performance and limitations of the LISA Pathfinder drag-free control system. In: AIAA Guidance, Navigation, and Control Conference. American Institute of Aeronautics and Astronautics (2007). https://doi.org/10.2514/ 6.2007-6732 3. Fichter, W., Schleicher, A., Vitale, S.: Drag-free control design with cubic test masses. In: Lasers, Clocks and Drag-Free Control, vol. 349, pp. 361–378. Springer, Berlin, Heidelberg (2008). https:// doi.org/10.1007/978-3-540-34377-6_17 4. Gerardi, D., Allen, G., Conklin, J.W., Sun, K.X., DeBra, D., Buchman, S., Gath, P., Fichter, W., Byer, R.L., Johann, U.: Advanced drag-free concepts for future space-based interferometers: Acceleration noise performance. Rev. Sci. Instrum. 85(1), 011301 (2014). https://doi.org/10. 1063/1.4862199

References

171

5. Lange, B.: The drag-free satellite. AIAA J. 2(9), 1590–1606 (1964). https://doi.org/10.2514/3. 55086 6. Lange, B.: Managing spherical proof masses in drag-free satellites with application to the LISA experiment. Classical Quantum Gravity 18(19), 4153–4158 (2001). https://doi.org/10.1088/02649381/18/19/325 7. Schleicher, A., Ziegler, T., Schubert, R., Brandt, N., Bergner, P., Johann, U., Fichter, W., Grzymisch, J.: In-orbit performance of the LISA Pathfinder drag-free and attitude control system. CEAS Space J. 10(4), 471–485 (2018). https://doi.org/10.1007/s12567-018-0204-x 8. Skogestad, S., Postlethwaite, I.: Multivariable Feedback Control. Wiley (2005)

7

Closing Remarks

The field of spacecraft control is well established and there are proven approaches for many different control tasks. In this book, we aimed at compiling and explaining simple and practical methods for the most common spacecraft control tasks. Although the previous chapters may appear somewhat theoretical or overloaded with equations, they provide a sound understanding of all algorithmic components of a spacecraft control system. We believe that such a foundation is necessary for practical applications and simplifies the understanding of complex system engineering tasks as well as more advanced algorithms in the field of estimation, actuation, and nonlinear control. For actual applications, several other activities are required: Detailed environment models (gravity and geomagnetic field, Sun illumination, Earth albedo, etc.), sensor and actuator models with a fidelity that goes beyond the level explained in this book, discrete-time controller implementation, and possibly spacecraft motion models with more complex dynamics (flexible modes, fuel sloshing, time-varying mass properties). Systematic approaches for requirements engineering, testing, verification, and system design are mandatory. This is much more than what is provided in this book. However, most of these tasks can be accomplished well with a sound knowledge of the theoretical foundations. The opposite is much harder, if not impossible, in practice. Compared to a few decades ago, the design of spacecraft control systems achieved a very advanced level. In the last decades, we have seen research activities in several directions, some of them are recurring in regular intervals. Nevertheless, they have a large research potential, usually driven by mission and system developments: Exploration to far distant space bodies creates stringent autonomy requirements, which have to be met mainly by efforts in the spacecraft control system field; large constellations in low or very low Earth orbits drive the need for cost reduction and reliability and adequate algorithms; precision instruments and payloads lead to the need of integrated design of spacecraft and instrument control, a special case is the formation of distributed spacecraft.

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0_7

173

174

7 Closing Remarks

Besides control (and analysis) methods that are based on traditional system theory, the spacecraft control field is recently also influenced by developments in computer science. This includes computational methods such as machine learning approaches that are more and more explored towards applicability to spacecraft systems. This is of particular interest in cases where analytic models are lacking but large data sets are available instead. We believe that these developments on missions and systems on the one hand and technologies and control algorithms on the other hand provide an interesting and challenging environment for future developments in the area of spacecraft control.

A

Coordinate Systems

A.1

Inertial Coordinate System

The inertial coordinate system in shown in Fig. A.1. It is represented by the three axes I = {x I , y I , zI }. The origin is in the center of the Earth. The x I -axis points towards the vernal equinox, which is the point where the Sun passes the equatorial plane from south to north. The zI -axis is pointing north, perpendicular to the equatorial plane, and the y I -axis completes the right-hand frame. The vernal equinox is actually defined for a specific date. A precise definition is not given here because it is not required for the understanding of the control system principles.

A.2

Orbit Coordinate System

The orbit coordinate system is used in Earth pointing missions. It is denoted by O = {x O , y O , zO } and shown in Fig. A.2. The orbit coordinate system is also called localvertical local-horizontal (LVLH) system. Its origin is defined to be the spacecraft center of mass. The zO -axis is pointing towards the Earth’s center, the y O -axis is perpendicular to the orbit plane, along negative orbit momentum. The x O -axis completes the right-hand frame, approximately along the flight direction in case of circular orbits.

A.3

Reference Attitude Coordinate System

The reference attitude coordinate system is denoted by R = {x R , y R , zR }. Its origin is in the spacecraft center of mass. It provides a reference orientation of the spacecraft for attitude control purposes. In many Earth orbiting missions, the reference attitude © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0

175

176

A Coordinate Systems

zI “North” ecliptic equatorial plane Earth

xI

yI

vernal equinox Fig. A.1 Inertial coordinate system

zI

xO zO yO

Earth

xI

equatorial yI plane

vernal equinox Fig. A.2 Orbit coordinate system

coordinate system coincides with the orbit coordinate system. However, it may also deviate from the orbit system, depending on the mission tasks. Typically, yaw angle deviations may be large, and roll and pitch angle deviations are usually relatively small.

A.4

Spacecraft Body Coordinate System

The spacecraft body coordinate system is shown in Fig. A.3. It can be thought of as being rigidly attached to the spacecraft. As a result, the mass distribution of rigid-body spacecraft, i.e., the inertia matrix, is constant in the body frame. The origin is the spacecraft center of mass. We denote the spacecraft body system by B = {x B , y B , zB }. Very often, these axes represent principal axes, or are at least close to them.

A

Coordinate Systems

177

Fig. A.3 Spacecraft body coordinate system solar array

zB central body

xB

CoM

yB

solar array

B

Useful Tools of Applied Mathematics

B.1

Vector Notation and Cross Product Equations

Throughout this book, vectors are expressed as column matrices, e.g., for a threedimensional vector a: ⎛ ⎞ a1 ⎜ ⎟ a = ⎝a2 ⎠ (B.1) a3 The cross product of two three dimensional vectors is denoted by a × b, which can also be written as a matrix-vector product with the skew-symmetric cross product matrix ⎡

0 def ⎢ [a×] = ⎣ a3 −a2

−a3 0 a1

⎤ a2 ⎥ −a1 ⎦ 0

(B.2)

The identity [a×] b = a × b

(B.3)

is easily verified by carrying out the multiplications: ⎡

0 ⎢ [a×] b = ⎣ a3 −a2

−a3 0 a1

⎤⎛ ⎞ ⎛ ⎞ b1 −a3 b2 + a2 b3 a2 ⎥⎜ ⎟ ⎜ ⎟ −a1 ⎦ ⎝b2 ⎠ = ⎝ a3 b1 − a1 b3 ⎠ = a × b 0 b3 −a2 b1 + a1 b2

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0

(B.4)

179

180

B Useful Tools of Applied Mathematics

In the following, some useful properties of the cross-product are listed. [a×] = −[a×]

(B.5)

a × b = −b × a

(B.6)

[(a × b)×] = b a  − a b

(B.7)

[a×] [b×] = b a  − a  b I

(B.8)

[a×]2 = a a  − a  a I

(B.9)

[a×] [b×] c = a × (b × c) = [b×] [a×] c + [c×] [b×] a   = a c I − c a b

(B.10) (B.11)

[a×] [b×]2 c = a × [b × (b × c)] = [b×] [c×] [b×] a − b b [a×] c [a×] [b×]2 a = [a×] (b b − b b I ) a

(B.12) (B.13)

= −[b×] a a  b = −[b×] (a a  − a  a I ) b = −[b×] [a×]2 b = [b×] [a×] [a×] b A lower right index of a variable specifies what the variable describes. For example, ωB is the angular rate of the spacecraft body (index B). A lower left index denotes in which coordinate system a vector is expressed, e.g., IωB is the angular spacecraft rate expressed in the inertial system. Usually, we drop the lower left index whenever the coordinate frame is clear from the context. Angular rates and angular accelerations of a body are typically expressed in the corresponding body frame.

B.2

Singular Value Decomposition

We consider a rectangular matrix A ∈ Rm×n with rank(A) = r. There is a decomposition A = U Σ V

B Useful Tools of Applied Mathematics

181

with an orthonormal matrix U ∈ Rm×m , an orthonormal matrix V ∈ Rn×n , and a matrix Σ ∈ Rm×n of the form   Σ1 0 Σ= (B.14) 0 0 with Σ 1 = diag {σ1 , . . . , σr } This decomposition is called a singular value decomposition (SVD). The matrix V can be further divided into a matrix V 1 ∈ Rn×r and a matrix V 2 ∈ Rn×(n−r) such that 

V



V 1 = V 2



The singular value decomposition of A can be expressed as  Σ1 A=U 0

0 0

  V 1 V 2

The matrix V 2 spans the nullspace of A, the matrix V 1 spans the row space of A. Any vector x can be decomposed into a row space component x r and a nullspace component x n . The linear equation A x = b can be decomposed according to the nullspace and row space components: A xn = 0 A xr = b This means that a nullspace component does not contribute anything to the solution, or with other words: nullspace components can always be added to a solution vector x and it still remains a solution. Example: A (3 × 4) Flat Matrix Let the matrix A ∈ R3×4 have full rank, i.e., rank(A) = 3. Then, V 1 ∈ R4×3 and the matrix V 2 becomes a nullspace vector v 2 ∈ R4×1 . The singular value decomposition is  A=UΣV



=UΣ

V 1 v 2



182

B Useful Tools of Applied Mathematics

with  Σ = Σ1

 0

Σ 1 = diag {σ1 , σ2 , σ3 } The linear system associated with the matrix A is b = A x = A (x r + x n )

(B.15)

It has more unknowns than equations, i.e., it is under-determined, there is a choice in the solution. Formally the solution of the linear system requires a generalized inverse, which can be obtained using the singular value decomposition. The solution is  x = A† b + ♥ v 2 = V 1 Σ −1 1 U b + ♥ v2

with an arbitrary scalar constant ♥. This means that an arbitrary component along v 2 can be added to the solution. This reflects the fact that there is a choice in the solution of an under-determined system. However, any additional component in the nullspace will increase the norm (length) of the solution.

B.3

Concepts of Lyapunov Theory

B.3.1

Time-Invariant Systems

Nonlinear System and Equilibrium Point Consider a nonlinear dynamic system of the form x˙ = f (x) This system is called time-invariant or autonomous since it does not depend explicitly on time, similar to the property of time-invariance of a linear system. A state x ∗ that satisfies f (x ∗ ) = 0 is called an equilibrium state or equilibrium point. A nonlinear system may have multiple (isolated) equilibrium points with different properties. Therefore, the notion of stability of nonlinear systems always refers to the stability of equilibrium points. In the following, we will summarize the most important facts concerning the stability of the equilibrium point x ∗ . A more detailed treatment including proofs can be found in e.g. [3].

B Useful Tools of Applied Mathematics

183

Stability Definitions The equilibrium point x ∗ is •

stable if for any ε > 0 there exists a real positive δ(ε) such that   x(t0 ) − x ∗  ≤ δ

• •

∀t ≥ t0

unstable if it is not stable asymptotically stable if it is stable and δ can be chosen such that   x(t0 ) − x ∗  ≤ δ



  x(t) − x ∗  ≤ ε,

⇒

⇒

lim x(t) = x ∗

t →∞

globally asymptotically stable if it is stable and lim x(t) = x ∗

t →∞

∀x(t0 ) ∈ Rn

In plain language, stability of an equilibrium point x ∗ means that all solutions that start near x ∗ will always stay nearby. Asymptotic stability guarantees that solutions starting near x ∗ will actually converge to it. Finally, global asymptotic stability of x ∗ implies that it is the only equilibrium point of the system and that all trajectories will eventually converge to x ∗ .

Lyapunov’s Direct Method The direct method of Lyapunov allows to analyze the stability of an equilibrium point x ∗ using a scalar, continuously differentiable function V (x) defined on some neighborhood D of x ∗ . The derivative of V (x) along the trajectories of the system is given by V˙ = (∂V /∂x) f (x). Then •

x ∗ is stable if 1. V (x) is positive definite: V (x ∗ ) = 0 and V (x) > 0 for all x ∈ D, x = x ∗ 2. V˙ (x) is negative semi-definite: V˙ (x) ≤ 0 for all x ∈ D



x ∗ is asymptotically stable if 1. V (x) is positive definite: V (x ∗ ) = 0 and V (x) > 0 for all x ∈ D, x = x ∗ 2. V˙ (x) is negative definite: V˙ (x) < 0 for all x ∈ D, x = x ∗

184



B Useful Tools of Applied Mathematics

x ∗ is globally asymptotically stable if D = Rn and 1. 2. 3.

V (x) is positive definite: V (x ∗ ) = 0 and V (x) > 0 for all x ∈ Rn , x = x ∗ V (x) is radially unbounded: V (x) → ∞ as x → ∞ V˙ (x) is negative definite: V˙ (x) < 0 for all x ∈ Rn , x = x ∗

These conditions can be interpreted in a more illustrative manner as follows: The Lyapunov function V (x) can be considered as an energy measure (e.g., the rotational energy of a spacecraft) with its minimum at the equilibrium point. Negative semi-definiteness of V˙ means that this energy is required to decrease over time, but the reduction may stop at states other than the equilibrium state. Negative definiteness of V˙ , however, requires the energy to decrease until the equilibrium point is reached. The Invariance Principle For many practical applications, a Lyapunov function with a negative definite derivative is hard or even impossible to find; in most cases, the Lyapunov derivative will be negative semi-definite [1]. In that case, LaSalle’s theorem states that all solutions of the nonlinear system that start within a given Lyapunov level (V (x 0 ) ≤ c) will eventually reach a state (or a set of states) where V˙ (x) ≡ 0, i.e., the Lyapunov derivative will stay zero. If it can be shown that no solution except x(t) ≡ x ∗ can maintain the condition V˙ (x) = 0, then the equilibrium point is asymptotically stable. This result is known as the Krasovskii-LaSalle Invariance Principle [4, Ch. 3.4].

B.3.2

Time-Varying Systems

If a nonlinear system x˙ = f (t, x)

(B.16)

depends explicitly on time, it is called time-varying or nonautonomous. The big difference to autonomous systems is that the solution of (B.16) depends on both the current time t and the initial time t0 and so may the stability behavior. Similar to autonomous systems, a point x ∗ is an equilibrium point of (B.16) if f (t, x ∗ ) ≡ 0; however, many time-varying systems have no equilibrium points. If a stable or asymptotically equilibrium point exists, the requirement that it should not lose its stability property leads to the concept of uniform stability. A mathematically rigorous definition can be found in e.g. [4]; we will confine ourselves to briefly listing some Lyapunov-like results that guarantee uniform (asymptotic) stability. Consider a continuously differentiable, scalar Lyapunov function V (t, x) that may now explicitly depend on time and let V˙ (t, x) be its derivative along the solutions of (B.16). Then an equilibrium point x ∗ is uniformly stable if V (t, x) is bounded from above and

B Useful Tools of Applied Mathematics

185

below by continuous, positive definite functions Wi (x) and if V˙ (t, x) is negative semidefinite: W1 (x) ≤ V (t, x) ≤ W2 (x) ∂V ∂V V˙ (t, x) = + f (t, x) ≤ 0 , ∂t ∂x where Wi (x ∗ ) = 0 and Wi (x) > 0 for all x ∈ D, x = x ∗ . It is uniformly asymptotically stable if the negative semi-definiteness of V˙ is tightened to negative definiteness: W1 (x) ≤ V (t, x) ≤ W2 (x) ∂V ∂V + f (t, x) ≤ −W3 (x) V˙ (t, x) = ∂t ∂x Note that the bounding functions Wi (x) have to depend on the state only, not on the time. It is worth mentioning that there is a version of the invariance principle for nonautonomous systems as well [2]. Specifically, if f (t, x) is bounded for any bounded x, then the argumentation applied to autonomous systems can be transferred to nonautonomous systems: If no solution except x(t) ≡ x ∗ can maintain the condition V˙ (t, x) ≡ 0, then the equilibrium point x ∗ is uniformly asymptotically stable even though V˙ (t, x) is only negative semi-definite.

B.4

Floquet Theory

Linear Periodic Systems A linear time-varying system of the form x˙ = A(t) x A(t) = A(t + T ) is called a linear periodic system, where T is the period.

Stability The state transition matrix of a periodic system can be expressed as Φ(t, t0 ) = Q(t, t0 ) eR(t −t0 ) , where Q(t, t0 ) is a periodic matrix, i.e., Q(t + T , t0 ) = Q(t, t0 )

(B.17)

186

B Useful Tools of Applied Mathematics

and eR(t −t0) is an exponential weighting. The solution of the periodic system can then be formulated as x(t) = Q(t, t0 ) eR(t −t0 ) x(t0 ) This implies the following two equivalent stability theorems: •

The system (B.17) is asymptotically stable if and only if Re{λi (R)} < 0 ,



i = 1, . . . , n

The system (B.17) is asymptotically stable if and only if      λi eR T  < 1 ,

i = 1, . . . , n

These are necessary and sufficient conditions. In general, the matrix eR T cannot be calculated analytically, but the solution is obtained numerically. For the transition matrix from t0 to T , the following holds: Φ(t0 + T , t0 ) = Q(t0 + T , t0 ) eR(t0 +T −t0 ) Using the fact Φ(t0 , t0 ) = I yields Φ(t0 , t0 ) = I = Q(t0 , t0 ) eR(t0 −t0 ) = Q(t0 , t0 ) and it follows that the transition matrix over one period is identical to the matrix of interest: Φ(t0 + T , t0 ) = eR T The computational procedure consists of three steps: 1. Compute Φ(t0 + T , t0 ) by numerical integration of Φ˙ = A(t) Φ using Φ(t0 , t0 ) = I . 2. Compute the absolute values of the eigenvalues |λi | of eR T = Φ(t0 + T , t0 ). 3. Check the stability condition. Remember that these stability tests are valid for linear periodic systems without input.

B Useful Tools of Applied Mathematics

187

References 1. Barkana, I.: Defending the beauty of the invariance principle. Int. J. Control 87(1), 186–206 (2013). https://doi.org/10.1080/00207179.2013.826385 2. Barkana, I.: Can stability analysis be really simplified? (Revisiting Lyapunov, Barbalat, LaSalle and all that). In: ICNPAA 2016 World Congress (2017). https://doi.org/10.1063/1.4972609 3. Khalil, H.K.: Nonlinear Systems, 3rd edn. Prentice Hall, Upper Saddle River, NJ (2002) 4. Khalil, H.K.: Nonlinear Control. Pearson Higher Education (2014)

C

Gravity-Gradient Force

The gravitational acceleration of a point mass m in the gravity field of the Earth is given by g=

r f (r) = −μ , m r3

(C.1)

where μ is the Earth’s gravitational parameter. The partial derivative ∂g/∂r  is now calculated using the quotient rule  u  v

=

v u − u v  , v2

with u=r



u =

∂r =I ∂r 



v =

1 ∂(r  r) 2 = 3r  (r  r) 2  ∂r

3

v = (r  r) 2 3

This yields for the gravity gradient: 3

1

∂g I (r  r) 2 − 3rr  (r  r) 2 U =  = −μ 6 ∂r (r  r) 2   μ rr  =− I − 3 , 3 rr (r  r) 2 3

where the expression μ/(r  r) 2 is the squared orbit rate, usually denoted by ω02 . © The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0

189

190

C Gravity-Gradient Force

While this derivation is straightforward, the same result can also be identified in (2.31), considering only linear terms in the distance between the reference point and the mass element.

Index

A Aerodynamic force, see Atmosphere Aerodynamic torque, see Atmosphere Angular momentum, 39 bias, 20, 118, 143–148 body momentum, 138 control, 117, 136–143 desaturation, 137, 139 nullspace momentum, 138 Angular random walk, 84 Atmosphere, 7 force, 7 torque, 7 Attitude control tasks, 2, 4 Attitude maneuvers, 2 B Bandwidth, 18 B-Dot law, 124 C Closed loop shaping, 151 CMG, see Control moment gyros (CMG) Complementary sensitivity function, 18, 149, 160 Control closed loop specifications, 152, 168–169 control system interfaces, 3 definition, 5 design rules, 18 standard control loop, 17, 149 Control moment gyros (CMG), 14, 46, 93–101 flywheel dynamics, 48, 53 gimbal dynamics, 47, 54–55

null motion, 58 pyramid architecture, 93 roof architecture, 56 rotational dynamics, 50–53, 55 singularities, 56–61 steering, 94–98 Cross product matrix, 179–180 D d’Alembert’s principle, 62 Digital modulator, 110 Dipole model, see Magnetic field Direction cosine matrix, 31 kinematics, 35 Drag coefficient, 7 Dynamic stellar estimator, 87 E Earth pointing frame, see Local-vertical local-horizontal frame Earth sensor, 10 Eigenaxis, 31 eigenaxis rotation, 129 Elementary rotation, 30 Equilibrium, 182 Error class, see Pointing Error indices, see Pointing Euler’s equation, 39 Euler-Rodrigues parameters, see Quaternion External torque, see Torque G Geomagnetic field, see Magnetic field

© The Author(s), under exclusive license to Springer Nature Switzerland AG 2023 W. Fichter, R. T. Geshnizjani, Principles of Spacecraft Control, https://doi.org/10.1007/978-3-031-04780-0

191

192 Geostationary Earth orbits (GEO), see Orbits Gibbs vector, 31 Global navigation satellite system (GNSS), see Navigation satellites Gravity, 7, 43 gravitational parameter, 7 gravity gradient, 7–8, 44, 140, 156, 189 Guidance definition, 5 Gyro-stellar estimator, 84 Gyroscope, 10 Gyrostat, 38 rotational dynamics, 42

H H∞ , 151, 167 Highly eccentric orbit (HEO), see Orbits

I Inertia matrix, see Moment of inertia Internal torque, see Torque Invariance principle, 121, 123, 127, 134, 184

K Kardan angles, 30 kinematics, 36 Knowledge error, see Pointing

L LaSalle’s theorem, see Invariance principle Limiter, see Saturation Linear momentum, 39 Local-vertical local-horizontal frame (LVLH), 71 Low Earth orbit (LEO), see Orbits LVLH, see Local-vertical local-horizontal frame (LVLH) Lyapunov’s direct method, 183

M Magnetic field dipole model, 9 Earth, 8–9 flux density, 8–9

Index Magnetic moment, 8–9 Magnetic torque, 9 Magnetic torquer, 16, 140 Magnetometer, 13 Magnetorquer, see Magnetic torquer Moment of inertia, 41 Momentum angular (see Angular momentum) linear (see Linear momentum) Momentum bias, see Angular momentum Moore-Penrose pseudoinverse, 91

N Nadir, 10 Nadir frame, see Local-vertical local-horizontal frame (LVLH) Navigation definition, 5 Navigation satellites, 13 Newton’s second law, 39

O Observability Kalman criterion, 83 Observer, 83 Orbit control system, 2 Orbits, 2

P Pointing, 2 error classes, 24 windowed variance, 26 Power spectral density, 23, 150, 168 Propulsion, see Thrusters Pseudorate modulator, 109

Q Quaternion, 31 error kinematics, 133, 135 kinematics, 35

R Rate damping, 120 Rate random walk, 84

Index Reaction wheels, 14, 89–93 allocation, 91 rotational dynamics, 42, 45 Rodrigues vector, 31 Root-mean-square (RMS) value, 23 Rotation rate definition, 35 orbital rate, 8, 45

S Saturation, 130 angular momentum, 136 angular rate, 130 saturation function, 130 torque, 132 Sensitivity function, 18, 149, 160 Singular value decomposition (SVD), 57, 138, 180 Solar constant, 6 Solar pressure, 6 Stability autonomous systems, 183 nonautonomous systems, 184 periodic systems, 185

193 Star sensor, see Star tracker Star tracker, 12 Sun pointing, 126–127 Sun sensor, 11

T Test mass equations of motion, 63, 64, 156 Thrusters, 15, 101–110 allocation, 103–108 Torque external, 115 internal, 116 TRIAD, 72

U Unit vector measurements, 71

W Wahba’s problem, 78 Wiener-Chintschin theorem, 27 Windowed statistics, 24