SlideShare una empresa de Scribd logo
1 de 135
Descargar para leer sin conexiรณn
DEVELOPING A GENERAL FRAMEWORK FOR A
TWO STAGED ARTIFICIAL POTENTIAL CONTROLLER
By
TRISTAN J. NEWMAN
A THESIS PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
MASTER OF SCIENCE
UNIVERSITY OF FLORIDA
2015
ยฉ 2015 Tristan J. Newman
To my colleagues, friends, and family.
4
ACKNOWLEDGMENTS
I would like to thank my research advisor, Dr. Norman Fitz-Coy, who believed in
me from the beginning; Dr. Josue Muรฑoz, who offered me his fantastic mentorship
during a research fellowship in New Mexico; and Roxanne Rezaei, my lovely wife who
has graced me with her unwavering support throughout my research and my studies. I
would also like to thank the department of Mechanical and Aerospace Engineering for
affording me the opportunity to study and do research, and all of the faculty and staff
within it who worked so hard to ensure that I was equipped with all of the tools
necessary to see it through.
5
TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS.................................................................................................. 4
LIST OF TABLES............................................................................................................ 7
LIST OF FIGURES.......................................................................................................... 8
LIST OF ABBREVIATIONS............................................................................................. 9
ABSTRACT ................................................................................................................... 10
CHAPTER
1 INTRODUCTION................................................................................................ 12
Foreword ............................................................................................................ 12
A Note on Notation ............................................................................................. 13
Background ........................................................................................................ 14
Optimal Controls ...................................................................................... 14
Workspace-Discretized Pathfinding ......................................................... 20
Method of Lyapunov ................................................................................ 22
2 MATHEMATICAL OVERVIEW ........................................................................... 26
Vector Operations in Linear Algebra................................................................... 26
Body Rotations and Quaternion Math................................................................. 28
Derivatives of (and With Respect to) Multi-Dimensional Quantities.................... 32
3 METHODOLOGY ............................................................................................... 35
Formal Definition of an APF................................................................................ 35
Defining the Error States .................................................................................... 37
The Unconstrained Case.................................................................................... 39
General Constraints............................................................................................ 43
First Stage Repulsive Potential................................................................ 44
Second Stage Repulsive Potential........................................................... 49
4 IMPLEMENTATION............................................................................................ 54
Notable Constraints............................................................................................ 54
The Pointing Constraint ........................................................................... 54
The Slew Rate Constraint........................................................................ 59
Early Avoidance....................................................................................... 60
Developing a MatLabยฎ
Simulation ...................................................................... 70
Dynamics................................................................................................. 70
6
Integration................................................................................................ 71
Processing............................................................................................... 73
5 CONCLUSION.................................................................................................... 75
A Quasi-Real World Example............................................................................. 75
Unconstrained Simulation Results........................................................... 79
Partially Constrained Simulation Results ................................................. 82
Fully Constrained Simulation Results ...................................................... 85
A Note on Second Stage Potentials......................................................... 88
Topics for Future Research ................................................................................ 89
Considerations for Physical Actuation Devices........................................ 89
The State Vector Escort Problem ............................................................ 92
Mitigation of Local Extrema...................................................................... 93
Afterword ............................................................................................................ 99
APPENDIX
A USEFUL MATRIX DERIVATIVES .................................................................... 100
Proof 1.............................................................................................................. 100
Proof 2.............................................................................................................. 101
Proof 3.............................................................................................................. 102
Proof 4.............................................................................................................. 103
Proof 5.............................................................................................................. 105
Proof 6.............................................................................................................. 106
Proof 7.............................................................................................................. 107
Proof 8.............................................................................................................. 109
Proof 9.............................................................................................................. 111
B MISCELLANEOUS PROOFS AND LEMMAS .................................................. 112
Proof 1.............................................................................................................. 112
Proof 2.............................................................................................................. 113
Proof 3.............................................................................................................. 114
Proof 4.............................................................................................................. 116
Proof 5.............................................................................................................. 117
Proof 6.............................................................................................................. 119
Proof 7.............................................................................................................. 121
Proof 8.............................................................................................................. 123
C MATLABยฎ
SIMULATION CODE ....................................................................... 125
LIST OF REFERENCES ............................................................................................. 133
BIOGRAPHICAL SKETCH.......................................................................................... 135
7
LIST OF TABLES
Table Page
2-1 Summary of derivatives discussed in Chapter 2................................................. 34
4-1 Logic term values across three regions in the gamma domain........................... 66
8
LIST OF FIGURES
Figure Page
1-1 Illustration of โ€œattitude forbiddenโ€ and โ€œattitude mandatoryโ€ zones...................... 15
1-2 Example of A* pathfinding with workspace discretization ................................... 22
3-1 Abstracted potential function with six sample points and two minima................. 35
3-2 Relative orientations of inertial, body, and tracking frames................................. 38
3-3 Dependency chart for the generalized control solution....................................... 53
4-1 Setup for the early avoidance pathway............................................................... 62
4-2 Illustration of the double conic problem .............................................................. 64
4-3 Variation in the logic term over the middle gamma domain ................................ 66
4-4 Illustration of the solution to the double conic problem....................................... 66
4-5 Sample profiles of the early avoidance potential ................................................ 67
5-1 AbstractoSat illustration...................................................................................... 75
5-2 Origin and terminus points for AbstractoSat sensors.......................................... 78
5-3 Results of the unconstrained simulation ............................................................. 80
5-4 Paths traced by sensor vectors in the unconstrained simulation ........................ 81
5-5 Results of the first pointing constraint simulation................................................ 83
5-6 Paths traced by sensor vectors in the first pointing constraint simulation........... 84
5-7 Results of the second pointing constraint simulation.......................................... 86
5-8 Paths traced by sensor vectors in the second pointing constraint simulation ..... 87
5-9 Demonstration of simulation hang-up induced by nearby local extrema............. 95
9
LIST OF ABBREVIATIONS
Angular Momentum
Exchange Device
(AMED)
An internal device on board a satellite which redistributes
angular momentum, resulting in imparted torque.
Artificial Potential
Function (APF)
A scalar function of the spacecraftโ€™s orientation and/or angular
velocity which determines the values of the controller output.
Control Moment
Gyroscope (CMG)
A type of AMED which redistributes angular momentum by
rotating at a fixed rate along a variable direction.
Direction Cosine
Matrix (DCM)
A 3x3 matrix containing parameters which fully specify the
rotation of one coordinate system with respect to another.
Nth
Time Derivative
(TDN)
A shorthand way of describing the operation ๐‘‘ ๐‘
๐‘‘๐‘ก ๐‘โ„
(e.g. TD1 means โ€œfirst time derivativeโ€).
Ordinary Differential
Equation (ODE)
An equation containing a function of one independent variable
and its derivatives.
Potential Rate
Transform (PRT)
A 3x1 vector which converts relative angular velocity into a
rate of change for first-stage APFs.
Reaction Wheel
Assembly (RWA)
A type of AMED which redistributes angular momentum by
rotating at a variable rate along a fixed direction.
Runge-Kutta (RK)
Method
A method of numerical integration which solves an ODE where
the independent variable is separable from its derivative.
10
Abstract of Thesis Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Master of Science
DEVELOPING A GENERAL FRAMEWORK FOR A
TWO STAGED ARTIFICIAL POTENTIAL CONTROLLER
By
Tristan J. Newman
August 2015
Chair: Norman Fitz-Coy
Major: Aerospace Engineering
Although there are many control options available to satellite manufacturers,
artificial potential functions (APF) provide an analytical and computationally inexpensive
way for a satellite to perform multiple tasks simultaneously. By expressing mission
constraints as a series of APFs and combining the results, a control solution can always
be evaluated.
The goal of my research was to develop a general framework which evaluates
the control solution from a generalized combination of arbitrary constraints. Developing
a general framework is attractive because of its flexibility in adapting a control solution
to a landscape where the constraints may be subject to change based on the needs of
the mission.
Separating the control system into two stages โ€“ one for attitude/orientation, and
one for angular velocity โ€“ was necessary to decouple those states. The first stage
determines the angular velocity required by the spacecraft, and the second computes
the torque necessary to reach the desired state.
11
The newfound flexibility provided by this framework makes it possible to add
constraints to a control solution with unprecedented ease and efficiency. The primary
example focused on in this document is the โ€œpointing constraint problemโ€ โ€“ a classic
problem in spacecraft attitude control.
The research done here suggests that a wide range of uses may exist for APF
controls and including slew-rate constraints and early avoidance of pointing constraint
boundaries. Future research will be necessary to solve some issues with this approach
โ€“ particularly in the implementation of second-stage potentials. It is believed that solving
these problems will greatly increase the effectiveness of nonlinear control systems by
sparing time and control effort. Overcoming these barriers may very well lead to APF
controls becoming a valuable asset for satellites with limited computational resources.
12
CHAPTER 1
INTRODUCTION
Foreword
On-orbit attitude change maneuvers can be regarded as the astrodynamical
equivalent of looking over oneโ€™s shoulder. There are many ways to control such a
maneuver, and some are more efficient than others at the expense of higher
computational overhead. However, for such maneuvers there is a need to balance
efficiency with speed. To carry the human analogy one step farther, consider an
individual observing a plane as it flies through the daytime sky. If the plane were to fly in
front of the sun, we assume that it would cause the onlooker some discomfort if they
were to continue tracking it.
The โ€œmaneuverโ€ performed here can be regarded as a tracking slew from one
orientation to another. However, this maneuver is subject to a โ€œkeep-out constraintโ€ โ€“
that is, there is a โ€œsensorโ€ (in this case, the onlookerโ€™s eyes), and a direction along
which that sensor should not be directed. A buffer about this vector defines a conic
region known as the โ€œkeep-out cone.โ€ The keep-out constraint is designed to prevent
the sensor from being directed along any vector within the keep-out cone.
To return to the human analogy, although the experiment would depend on some
unquantifiable parameters such as the pain-tolerance of the participant, or their
willingness to carry out the experiment, a surface-level reconstruction of this scenario
might show that one would instinctively avoid looking directly at the sun as the plane
crosses over its disk.
13
The operative distinction here is โ€œinstinctively,โ€ which would imply that executing
the maneuver requires little-to-no effort on the part of the onlooker. Although it would
not necessarily follow an optimal path, the maneuver would, ideally, have little impact on
the performance of the onlookerโ€™s mission (for example, perhaps they were commuting
to work). This example therefore illustrates the attractiveness of computationally
inexpensive maneuvers in the context of satellite control systems.
If a satellite was to be designed which could carry out a tracking maneuver
subject to the keep-out constraint, there would be several options for the control system.
In particular, three methods appeared predominantly in my research: (i) the time (or
energy) optimized control solution [1]; (ii) the workspace-discretized pathfinding solution
[2]; and (iii) the nonlinear control solution based on the method of Lyapunov [3], [4].
This document will primarily focus on the method of Lyapunov, and the concept
of artificial potential functions (APF) which stems from it. It will be shown that APF
controls provide an analytical - and therefore computationally inexpensive - way of
navigating the โ€œfieldโ€ of constraint boundaries. However, a brief study of other pre-
existing methods is necessary in order to fully appreciate the comparative efficiency of
APF controls.
A Note on Notation
Because of the breadth of subjects covered in this document, a single notation
will be used to avoid confusion. Equations brought in from other sources will thus have
their notation modified to fit this standard: All quantities will be hereafter be identified as
โ€œscalarโ€ โ€“ with no distinguishing marks (e.g. ๐‘  โˆˆ โ„) โ€“ โ€œvectorโ€ โ€“ marked with a single
underline (e.g. ๐‘ฃ โˆˆ โ„ ๐‘›
) โ€“ or โ€œmatrixโ€ โ€“ marked with two underlines (e.g. ๐‘€ โˆˆ โ„ ๐‘›ร—๐‘š
).
14
Because there will be such a heavy focus on linear algebra throughout this
document, the word โ€œvectorโ€ may be used to refer to any matrix where either of the
dimensions are 1 (if both dimensions are 1, the quantity may be referred to as a scalar
instead), in which case the term โ€œrow vectorโ€ or โ€œcolumn vectorโ€ will be used in the case
where the number of rows or columns of said matrix are 1, respectively.
Any quantity underlined once in any of the equations appearing hereafter is
implicitly a column vector. If a row vector is to be used, the vector will be transposed as
such: ๐‘ฃ is a column vector; ๐‘ฃ ๐‘‡
is a row vector. Furthermore, a โ€œhatโ€ over a vector with
any number of dimensions (e.g. ๐‘ฃฬ‚) will serve to indicate the vector is of unit length (i.e.
the scalar components of the vector are unitless and the magnitude is equal to one).
To avoid excessive notation, all physical vectors (e.g. directions in space,
angular velocities, torques, etc.) are all implicitly parameterized in the body-fixed
coordinate frame of the satellite unless otherwise noted. If it is necessary, the frame in
which the vector is parameterized will be noted with an upper-left superscript (e.g. ๐‘ฃ๐‘
).
Finally, the first time derivative (TD1) of any quantity will be represented with a
single dot (e.g. ๐‘‘๐‘  ๐‘‘๐‘กโ„ = ๐‘ ฬ‡), the second time derivative (TD2) will be represented with
two dots (e.g. ๐‘‘2
๐‘ฃ ๐‘‘๐‘ก2โ„ = ๐‘ฃฬˆ), and so on.
Background
Optimal Controls
Summary. The optimal control solution is perhaps the most difficult one to derive
and implement. This difficulty arises because it must not only solve the problem, but do
so while minimizing a parameter of the satellite designerโ€™s choice.
15
Unsik Lee and Mehran Mesbahi derived such a solution; minimizing either
maneuver time, or energy expenditure requirements for the maneuver using Gaussโ€™s
pseudospectral method [1].
Citing the need for โ€œโ€ฆavoiding undesirable orientations with respect to celestial
objectsโ€ฆโ€ as โ€œโ€ฆessential for science missions [1],โ€ the problem described is exactly
the keep-out problem analogized in the โ€œwatching planesโ€ example. As a point of
interest, [1] was mentioned to be a follow-up on research done by Lee and Mesbahi
regarding the use of Lyapunov potential functions to perform similar maneuvers [4].
As in [4], Lee and Mesbahi parameterize the rotation of the spacecraft with unit
quaternions, where any quaternion defines an attitude that the spacecraft may occupy.
Although there are an infinite number of attitudes that the spacecraft can occupy, there
exists a finite number of discrete zones, corresponding โ€œattitude forbiddenโ€ (the keep-
out cones described in Chapter 1), and โ€œattitude mandatoryโ€ (a conic region similar to a
keep-out cone, but whose role is reversed such that a body-fixed direction is meant to
stay within it rather than outside of it) [1]. An example for each type of zone is illustrated
in Figure 1-1 (the illustrations themselves taken from [1]).
A B
Figure 1-1. A) Illustration of an โ€œattitude forbiddenโ€ zone [1].
B) Illustration of an โ€œattitude mandatoryโ€ zone [1].
16
The cost function to be minimized is
๐ฝ = โˆซ (๐œŒ + (1 โˆ’ ๐œŒ)| ๐‘ข( ๐‘ก)|) ๐‘‘๐‘ก
๐‘ก ๐‘“
๐‘ก0
(1-1)
where ๐‘ข( ๐‘ก) is a 3-element vector containing the control torques for each reaction wheel
[1], and ๐œŒ is โ€œa weighting factor on the time, where ๐œŒ = 0 and ๐œŒ = 1 yield the energy
optimal and time optimal performance cost, respectively [1].โ€
Equation 1-1 is subject to the following constraints:
๐‘žฬ‡( ๐‘ก) =
1
2
๐‘ž( ๐‘ก) โŠ— ๐œ”ฬƒ( ๐‘ก), (1-2)
๐ฝ๐œ”ฬ‡ ( ๐‘ก) = (๐ฝ๐œ” + ๐ฝ๐‘Ÿ ๐œ” ๐‘Ÿ) ร— ๐œ” โˆ’ ๐ฝ๐‘Ÿ ๐‘ข, (1-3)
๐œ”ฬ‡ ๐‘Ÿ = ๐‘ข (1-4)
where โ€œ๐‘ž( ๐‘ก) is the unit quaternion representing the attitude of the rigid body at time ๐‘กโ€,
โ€œ๐œ”( ๐‘ก) โˆˆ โ„3
denotes the angular velocity of the spacecraft in the body frameโ€, โ€œ๐œ”ฬƒ( ๐‘ก) =
[๐œ” ๐‘‡
0]4ร—1
๐‘‡
โ€, โ€œ ๐ฝ = diag( ๐ฝ1, ๐ฝ2, ๐ฝ3) denotes the [centroidal] inertia matrix of the spacecraft
in the body frameโ€, and โ€œ๐ฝ๐‘Ÿ = diag( ๐ฝ๐‘Ÿ1, ๐ฝ๐‘Ÿ2, ๐ฝ๐‘Ÿ3) denotes the inertia matrix of the
spacecraftโ€™s reaction wheels in the body frame [1].โ€
Lee and Mesbahi require the spacecraft to follow a โ€œrest to restโ€ profile โ€“ i.e. the
maneuver begins (at time ๐‘ก = ๐‘ก0) and ends (at time ๐‘ก = ๐‘ก๐‘“) with zero angular velocity.
The spacecraftโ€™s reaction wheels are likewise assumed to be initially at rest. Thus, the
maneuver observes the following boundary conditions:
๐‘ž( ๐‘ก0) = ๐‘ž๐‘ก0
; ๐‘ž(๐‘ก๐‘“) = ๐‘ž๐‘ก ๐‘“
; ๐œ”( ๐‘ก0) = 0; ๐œ”(๐‘ก๐‘“) = 0; ๐œ”๐‘Ÿ( ๐‘ก0) = 0. (1-5)
17
In addition to boundary conditions, there are three constraints on the control and
angular velocity of the spacecraft [1] which exist to prevent saturation of the reaction
wheels or harmonic oscillation of nonrigid components:
|๐‘ข๐‘–| โ‰ค ฮฒu; (1-6)
|๐œ”๐‘–| โ‰ค ๐›ฝ ๐œ”; (1-7)
|๐œ”๐‘Ÿ ๐‘–
| โ‰ค ๐›ฝ ๐œ” ๐‘Ÿ
; (1-8)
for ๐‘– = 1, 2, 3 [1].
Finally, there are constraints corresponding to each attitude forbidden zone, and
the attitude mandatory zone [1]. These are represented by a known matrix ๐‘€ that is a
function of spatial geometry. Each ๐‘€ satisfies the inequality constraint
๐‘ž ๐‘‡
๐‘€ ๐‘“ ๐‘–
๐‘ž < 0 (1-9)
for the ๐‘–th
forbidden zone (where ๐‘– = 1, โ€ฆ , ๐‘› [1]), and
๐‘ž ๐‘‡
๐‘€ ๐‘š ๐‘ž > 0 (1-10)
for the lone attitude mandatory zone [1].
The solution to the optimal control problem defined by Eqs. 1-2 through 1-10 was
determined by โ€œa Gauss pseudospectral method (direct optimal control method) using
the open source optimal control software GPOPSยฎ
in conjunction with the nonlinear
programming problem solver SNOPTยฎ
and the automatic differentiator INTLABยฎ
[1].โ€
Gauss pseudospectral method is described as: โ€œa class of direct collocation
methods where the optimal control problem is transcribed into a nonlinear programming
problem (NLP) by approximating the state and control states using global orthogonal
polynomials and collocating the differential dynamic equations on Legendre-Gauss
18
collocation points [1].โ€ Reference [5] expounds more upon the details of pseudospectral
methods, including Legendre-Gauss collocation.
Because collocation methods such as this are only valid on the range [โˆ’1, 1],
the generalized time interval ๐‘ก = [๐‘ก0, ๐‘ก๐‘“] is transformed using
๐œ =
2๐‘ก โˆ’ ๐‘ก๐‘“ โˆ’ ๐‘ก0
๐‘ก๐‘“ โˆ’ ๐‘ก0
. (1-11)
The derivation completes as follows:
The states [sic] ๐‘ž( ๐œ) is approximated by the polynomial ๐‘žฬƒ( ๐œ) using a basis of
๐‘ + 1 Lagrange interpolating polynomials on the time interval of [โˆ’1, 1] as
๐‘ž( ๐œ) โ‰ˆ ๐‘žฬƒ( ๐œ) = โˆ‘ ๐‘ž( ๐œ๐‘–) ๐ฟ๐‘–( ๐œ๐‘–)
๐‘
๐‘–=0
where ๐ฟ๐‘–( ๐œ) is the ๐‘–th
Legendre polynomial defined as
๐ฟ๐‘–( ๐œ) = โˆ
๐œ โˆ’ ๐œ๐‘—
๐œ๐‘– โˆ’ ๐œ๐‘—
๐‘
๐‘—=0,๐‘—โ‰ ๐‘–
, ( ๐‘– = 0, โ€ฆ , ๐‘).
The derivative of the state approximation is similarly obtained as
๐‘žฬ‡( ๐œ) โ‰ˆ ๐‘žฬƒฬ‡( ๐œ) = โˆ‘ ๐‘žฬƒ( ๐œ๐‘–) ๐ฟฬ‡ ๐‘–( ๐œ๐‘–)
๐‘
๐‘–=0
= โˆ‘ ๐ท ๐‘˜,๐‘– ๐‘žฬƒ( ๐œ๐‘–)
๐‘
๐‘–=0
where ๐ท ๐‘˜,๐‘– are element [sic] of non-square matrix ๐ท โˆˆ โ„ ๐‘ร—(๐‘+1)
called Gauss
pseudospectral differentiation matrix โ€ฆ The performance cost in terms of ๐œ is
approximated using a Gauss quadrature as
๐ฝ =
๐‘ก๐‘“ โˆ’ ๐‘ก0
2
โˆ‘ ๐‘ค ๐‘˜(๐œŒ + (1 โˆ’ ๐œŒ)| ๐‘ข( ๐œ ๐‘˜)|)
๐‘
๐‘˜=1
where ๐‘ค ๐‘˜ are the Gauss weights. The above performance index together with
approximated constraints โ€ฆ lead to formulation of a nonlinear programming with
the initial and final states ๐‘ž( ๐‘ก0) = ๐‘žฬƒ( ๐œ0) and ๐‘ž(๐‘ก๐‘“) = ๐‘žฬƒ(๐œ ๐‘“), respectively, which
can be solved using SNOPT nonlinear solver [1].
19
Advantages and disadvantages. The greatest benefit of the optimal control
solution is that it is, in fact, optimal. This allows for satellites operating with such a
control system to complete large-slew maneuvers while holding to a variety of
constraints in as little time as possible, or expending as little energy as possible.
However, this benefit comes at a price. In computer science terms, the product
definition for the ๐‘–th
Legendre polynomial implies that evaluating ๐ฟ๐‘–( ๐œ) for ๐‘ collocation
points has a time complexity of ๐‘‚( ๐‘), as it is the product of ๐‘ terms (each with a time
complexity of ๐‘‚(1)). Furthermore, evaluating the state requires the summation of ๐‘ + 1
Legendre polynomials (modified by ๐‘ž( ๐œ)), implying that the evaluation of ๐‘žฬƒ( ๐œ) has a time
complexity of ๐‘‚( ๐‘2).
In addition, the first time derivative of ๐ฟ๐‘–( ๐œ) requires the application of the product
rule ๐‘ times. Therefore, evaluating ๐ฟฬ‡ ๐‘–( ๐œ) (and, by extension, ๐ท ๐‘˜,๐‘– [5]) also has a time
complexity of ๐‘‚( ๐‘2). However, since the evaluation of ๐‘žฬ‡( ๐œ) requires the summation of
๐‘ + 1 such terms, the overall time complexity for this section of the algorithm is ๐‘‚( ๐‘3).
This is only the time complexity involved in determining the quaternion rate at the
next collocation point. For all ๐‘ collocation points, the time complexity graduates to
๐‘‚( ๐‘4)! This complexity does not take into account operations done internally by the
SNOPT nonlinear solver, so ๐‘‚( ๐‘4) can be regarded as a minimum time complexity.
For comparison, a fully analytical method (such as the method of Lyapunov, as
will eventually be shown) has a time complexity of ๐‘‚(1). In other words, determining the
optimal control solution requires much dedication of onboard computational resources.
20
This may not be an issue for maneuvers wherein a small number of collocation
points can be used, as it can be inferred from Eq. 1-11 that short-duration maneuvers
do not progress as rapidly through the ๐œ domain, and therefore fewer collocation points
may be used. Furthermore, larger satellites (such as GPS or military satellites) that
prioritize the speed in which a precise maneuver can be executed over the amount of
memory that maneuver takes may make better use of the optimal control solution
versus other, nonoptimal methods.
Workspace-Discretized Pathfinding
Summary. Another approach explored by Henri C. Kjellberg and E. Glenn
Lightsey discretizes the spherical space surrounding the spacecraft into hexagonal
segments to find โ€œan admissible path between the attitude keep-out zone [using the] A*
pathfinding algorithm โ€ฆ chosen because of its ease of implementation [2].โ€
Since the workspace is discretized, each โ€œpixelโ€ (a single element of the unit
sphere) has its neighboring pixels identified pre-implementation and stored on-board. A
โ€œpath-cost function ๐‘”(๐‘( ๐‘˜))โ€ and โ€œheuristic distance function โ„Ž(๐‘( ๐‘˜))โ€ are defined where
๐‘( ๐‘˜) is the โ€œpixel node at step ๐‘˜ [2].โ€ The โ€œdistance-plus-cost function ๐‘“(๐‘( ๐‘˜))โ€ is
defined to be
๐‘“(๐‘( ๐‘˜)) = ๐‘”(๐‘( ๐‘˜)) + โ„Ž(๐‘( ๐‘˜)).
If a pixel is outside of the keep-out region (which [2] describes as โ€œthe prohibited
constraint setโ€), then the cost function is given by
๐‘”(๐‘( ๐‘˜)) = ๐œƒ(๐‘’( ๐‘˜), ๐‘’( ๐‘˜ โˆ’ 1)) + ๐‘‘ + ๐‘”(๐‘( ๐‘˜ โˆ’ 1)),
where ๐‘’( ๐‘˜) is the vector difference between the โ€œcurrentโ€ and โ€œpreviousโ€ pixels, and
๐œƒ(๐‘’( ๐‘˜), ๐‘’( ๐‘˜ โˆ’ 1)) can be interpreted as the angle by which the path has deflected in the
21
previous two iterations, โ€œthus penalizing a change in the eigenaxis vector direction โ€ฆ If,
however, the pixel is inside the prohibited constraint set, then ๐‘”(๐‘( ๐‘˜)) = ๐‘, where ๐‘ is
an arbitrarily large constant to prevent a solution from going within the constrained
region [2].โ€
The heuristic distance function is the same regardless of whether or not a pixel is
inside the constrained region. If ๐‘( ๐‘š) represents the โ€œtargetโ€ pixel, then the heuristic
distance is the angle that must be traversed in order to reach it [2]. Therefore
โ„Ž(๐‘( ๐‘˜), ๐‘( ๐‘š)) = arccos[๐‘ฃ(๐‘( ๐‘˜)) โˆ™ ๐‘ฃ(๐‘( ๐‘š))].
Having defined both cost functions, the A* algorithm can be run to find the path
that minimizes the total cost between the initial and final pixels. The algorithm as
described by Kjellberg and Lighsey
returns the set of pixels that provide an admissible, locally minimum path-cost [as
defined by the path-cost function ๐‘“(๐‘( ๐‘˜))] trajectory for the desired rotation of the
vehicleโ€™s body-fixed x axis to the new attitude. The pixels that have been
explored during this process are known as the closed set. The pixels that
constitute the final path are reduced by eliminating all pixels that lie along
approximately the same path on a great circle. The remaining pixels are โ€œturning
points,โ€ locations where the eigenaxis vector direction must change โ€ฆ The
resulting trajectory for a typical reorientation problem is shown in Figure 8 [of [2],
collated in Figure 1-2] for the vehicleโ€™s body-fixed x axis [2].
Advantages and disadvantages. In contrast with the optimal control solution,
discretization becomes more efficient as the number of constraints increases. This is
because more constraints reduce the number of pixels accessible to the A* algorithm
[2]. However, it is worth noting that this method provides a solution that can be quite far
from optimal since the โ€œcost functionโ€ being optimized relates to the A* algorithm instead
of the keep-out problem optimized by Lee and Mesbahi.
22
Figure 1-2. "Example x-axis reorientation trajectory resulting from the A* pathfinder
algorithm [2].โ€
However, Kjellberg and Lightsey note that โ€œthese advantages are particularly well
suited for small spacecraft, which have limited power and processing capabilities, yet
must meet many different attitude constraints [2].โ€
In terms of complexity, workspace discretization can be thought of as a middle
ground between optimality, and the computational efficiency of the Lyapunovโ€™s method
for nonlinear control.
Method of Lyapunov
Summary. While the optimal control and workspace discretization methods
undoubtedly have their advantages, they are ultimately algorithmic approaches. The
optimal solution can only be approximated by introducing a finite number of collocation
23
points, and increasing the accuracy of the approximation drastically slows down its
computation. The workspace discretization method is purely algorithmic, requiring the
discretization of space around the satellite in order to be compatible with the A*
pathfinding algorithm proposed by Kjellberg and Lightsey.
In both cases, the time complexity of obtaining the solution depends on the
fidelity of the discretization (i.e. a better approximation can be obtained in both cases by
using either more collocation points, or more pixels respectively). An analytic and
closed-form solution has the benefit of being rapidly calculable, although the solution
obtained may not be optimal.
Colin McInnes describes a procedure to obtain such a solution: โ€œThe second
method of Lyapunov allows expressions for the required control torques to be obtained
analytically in closed form. Therefore, attitude control commands may be generated in
real time, so that the method may be suitable for autonomous, onboard operations [3].โ€
Defining โ€œa scalar potential function ๐‘‰ โ€ฆ to be positive definite everywhere,
except at the target point of the system state space where it will vanish [3],โ€
๐‘‰ =
1
2
โˆ‘ ๐ผ๐‘– ๐œ”๐‘–
2
3
๐‘–=1
+
1
2
โˆ‘ ๐œ†(๐œƒ๐‘– โˆ’ ๐œƒ๐‘–)
2
3
๐‘–=1
. (1-12)
Thus taking the first time derivative (TD1) of Eq. 1-12 yields
๐‘‰ฬ‡ = โˆ‘ ๐œ”๐‘– ๐‘‡๐‘–
3
๐‘–=1
+ โˆ‘ ๐œ†๐œƒฬ‡ ๐‘–(๐œƒ๐‘– โˆ’ ๐œƒฬƒ๐‘–)
2
3
๐‘–=1
(1-13)
where โ€œ๐œ”๐‘–, ๐ผ๐‘–, ๐‘‡๐‘– (๐‘– = 1, โ€ฆ ,3) are the satellite body rate, moment of inertia, and control
torque about the ๐‘–th principal axisโ€, and โ€œthe second term [of Eq. 1-12] represents an
24
artificial potential energy possessed by the system relative to the target attitude
(๐œƒฬƒ1, ๐œƒฬƒ2, ๐œƒฬƒ3) [3].โ€
Since ๐‘‰ takes on its minimum value (of zero) at the desired orientation and
angular velocity, the control solution ๐‘‡๐‘– should be specified such that ๐‘‰ฬ‡ (and Eq. 1-13 by
extension) is negative semidefinite [3]. โ€œThe choice of control is obviously nonunique;
however, the simplest control is selected as
๐‘‡๐‘– = โˆ’๐œ…๐œ”๐‘– โˆ’ โˆ‘ ๐บ๐‘–๐‘—
๐‘‡
๐œ†๐‘—(๐œƒ๐‘— โˆ’ ๐œƒฬƒ๐‘—)
3
๐‘—=1
where the gain constants ๐œ… and ๐œ†๐‘– (๐‘– = 1, โ€ฆ ,3 [sic]) will be chosen to shape the
maneuver [3].โ€ The matrix ๐บ๐‘–๐‘—
๐‘‡
is a function of the spatial geometry of the system:
๐บ๐‘–๐‘—
๐‘‡
= [
1 sin ๐œƒ1 tan ๐œƒ2 cos ๐œƒ1 tan ๐œƒ2
0 cos ๐œƒ1 โˆ’ sin ๐œƒ1
0 sin ๐œƒ1 sec ๐œƒ2 cos ๐œƒ1 sec ๐œƒ2
].
It can thus be shown that the target attitude is โ€œthe only attractive equilibrium point for
the system [3].โ€
In the context of โ€œsun vector avoidance,โ€ another scalar potential function must
be defined, although its exact form varies from author to author. McInnes uses
Gaussian functions โ€œto represent the regions of high potential so that there are no
singularities in the potential and the controls are bounded [3].โ€ Unsik Lee and Mehran
Mesbahi use โ€œlogarithmic barrier potentials [4].โ€
This is the point at which most research into APF-based controls diverges, as the
method of Lyapunov can be applied to many different potentials and constraints โ€“
nearly all of which are defined differently from author to author. It is from here that my
own research branches off โ€“ away from the background material discussed thus far.
25
Advantages and disadvantages. It is hopefully apparent from this summary of
Lyapunovโ€™s method that there is no one way to solve a constrained maneuver problem,
as doing so is nearly as much of an art as it is a science, which may be seen as either a
disadvantage (as some other methods yield concretely defined solutions with easily
understood physical significance), or a great advantage (since there are often as many
different ways to solve a problem using APFs, each with its own set of advantages and
disadvantages). However, it should be disclosed that the solution can never be said to
be optimal, no matter what APF is chosen.
The lack of optimality should really only be seen as a barrier to use in the case of
satellites for which quickly executing a maneuver is more important than sparing on-
board computational resources for more (subjectively) โ€œimportantโ€ tasks. For example, a
satellite conducting a survey of overhead constellations may not need to slew in an
optimal manner, but if the processor on board only has limited processing capability
then the analytical solution provided by Lyapunovโ€™s method may be more attractive.
The greatest concerns with the application of user-defined scalar potentials is
that, when superimposed, the APFs may give rise to regions where the scalar rate
becomes zero, even though the desired state has not been reached. These situations
can be avoided through deliberate configuration of the APFs, and are oftentimes
unstable (meaning that they could be avoided using a jitter controller, which provides
numerical uncertainty to the currently adopted state). However, if such a region were
the result of a stable local minimum, then a more powerful approach is necessary. This
โ€œlocal minimum problemโ€ is of great concern to researchers studying nonlinear controls,
but it is currently beyond the scope of this document to address it directly.
26
CHAPTER 2
MATHEMATICAL OVERVIEW
Vector Operations in Linear Algebra
As noted in Chapter 1, โ€œthe word โ€˜vectorโ€™ may be used to refer to any matrix
where either of the dimensions are 1.โ€ This can be done because every operation in
vector algebra has an equivalent operation in linear algebra.
For example, consider a vector ๐‘ฃ โˆˆ โ„3
. If ๐‘ฃ is parameterized in an arbitrary
reference basis ๐ด containing orthonormal basis vectors 1ฬ‚, 2ฬ‚, and 3ฬ‚, with corresponding
parallel components ๐‘ฃ1, ๐‘ฃ2, and ๐‘ฃ3, then the vector annotated equation for ๐‘ฃ๐ด
would be
๐‘ฃ๐ด
= ๐‘ฃ11ฬ‚ + ๐‘ฃ22ฬ‚ + ๐‘ฃ33ฬ‚,
Thus, the equivalent matrix form conveniently allows for the use of ๐‘ฃ๐ด
in linear algebra
operations, and can be determined by respectively representing the vectors 1ฬ‚, 2ฬ‚, and 3ฬ‚
(parameterized in ๐ด) as the 3 ร— 1 matrices (column vectors) [1 0 0] ๐‘‡
, [0 1 0] ๐‘‡
,
and [0 0 1] ๐‘‡
, then ๐‘ฃ๐ด
has the equivalent matrix representation
๐‘ฃ๐ด
โŸบ [
๐‘ฃ1
๐‘ฃ2
๐‘ฃ3
].
Defining a second vector ๐‘ข which is also parameterized in the ๐ด-fixed {1ฬ‚, 2ฬ‚, 3ฬ‚}
basis, it follows from the definition of the โ€œdot productโ€ ๐‘ข โˆ™ ๐‘ฃ that
๐‘ข โˆ™ ๐‘ฃ = ๐‘ข1 ๐‘ฃ1 + ๐‘ข2 ๐‘ฃ2 + ๐‘ข3 ๐‘ฃ3. (2-1)
Note that the upper-left superscripts have been omitted because Eq. 2-1 is valid in any
coordinate system provided both vectors are parameterized within it. Ergo, Eq. 2-1 has
the equivalent matrix representation
๐‘ข โˆ™ ๐‘ฃ โŸบ ๐‘ข๐ด ๐‘‡
๐‘ฃ๐ด
(2-2)
27
where the superscript ๐‘‡ denotes the transpose of the column vector ๐‘ข๐ด
. One can verify
this by performing the multiplication in Eq. 2-2 and comparing its results to Eq. 2-1.
The result in Eq. 2-2 naturally suggests that there is an equivalent matrix form for
the cross product as well. Thus, we may once again consider the vectors ๐‘ข and ๐‘ฃ as
parameterized in the {1ฬ‚, 2ฬ‚, 3ฬ‚} basis. By definition, the cross product ๐‘ข๐ด
ร— ๐‘ฃ๐ด
is equal to
๐‘ข๐ด
ร— ๐‘ฃ๐ด
= ( ๐‘ข2 ๐‘ฃ3 โˆ’ ๐‘ข3 ๐‘ฃ2)1ฬ‚ + ( ๐‘ข3 ๐‘ฃ1 โˆ’ ๐‘ข1 ๐‘ฃ3)2ฬ‚ + ( ๐‘ข1 ๐‘ฃ2 โˆ’ ๐‘ข2 ๐‘ฃ1)3ฬ‚. (2-3)
It is possible to group the terms on the right-hand side of Eq. 2-3 such that it may
be represented as the multiplication of a 3 ร— 3 matrix and the 3 ร— 1 matrix representing
the vector ๐‘ฃ๐ด
. This yields
๐‘ข๐ด
ร— ๐‘ฃ๐ด
โŸบ ๐‘ข๐ด ร—
๐‘ฃ๐ด
; (2-4a)
๐‘ข๐ด ร—
โ‰ [
0 โˆ’๐‘ข3 ๐‘ข2
๐‘ข3 0 โˆ’๐‘ข1
โˆ’๐‘ข2 ๐‘ข1 0
] (2-4b)
where the superscript ร— in Eq. 2-4a denotes the โ€œskew matrix formโ€ of the column vector
๐‘ข๐ด
which is defined in Eq. 2-4b. Once again, this may be verified by executing the
matrix multiplication in Eq. 2-4a, which will consequently yield Eq. 2-4b.
The equivalencies in Eqs. 2-2 and 2-4a allow us to reconcile vector operations
with linear algebra. One example of this which we will eventually find to be particularly
useful relates the cross product of two vectors to their dot product. The identity formally
known as the โ€œvector triple productโ€ is most commonly cited in terms of vector
operations. However, we will hereafter refer to its equivalent matrix form:
๐‘ข๐ด ร—
๐‘ฃ๐ด ร—
= ๐‘ฃ๐ด
๐‘ข๐ด T
โˆ’ ๐‘ข๐ด T
๐‘ฃ๐ด
๐•€ (2-5)
where ๐•€ is the 3 ร— 3 identity matrix. This identity is proven formally in [6], published in
1939โ€™s Mathematical Gazette by S. Chapman and E. A. Milne.
28
Body Rotations and Quaternion Math
The rotation of a rigid body in space can always be specified using a direction
cosine matrix (DCM) โ€“ a 3x3 matrix whose terms fully specify the rotation of one
coordinate system with respect to another. For example, consider a spacecraft whose
body-fixed (i.e. fixed in frame ๐ต) ๐‘ฅ, ๐‘ฆ, and ๐‘ง axes are parameterized in an inertially-fixed
(i.e. fixed in frame ๐‘) coordinate system as ๐‘ฅฬ‚๐‘
, ๐‘ฆฬ‚๐‘
, and ๐‘งฬ‚๐‘
, respectively. The DCM that
converts an inertially-fixed vector to body-fixed coordinates is ๐‘…๐‘
๐ต
= [ ๐‘ฅฬ‚๐ต
๐‘ฆฬ‚๐ต
๐‘งฬ‚๐ต
] [7].
As a point of interest, the TD1 of any DCM is dependent on the angular velocity
of the coordinate system it transforms into. In general, for two coordinate systems fixed
in arbitrary reference frames ๐ด and ๐ต, the TD1 of ๐‘…๐ด
๐ต
is
๐‘…ฬ‡๐ด
๐ต
= โˆ’ ๐œ”๐ด
๐ต ร—
๐‘…๐ด
๐ต
(2-6)
where ๐œ”๐ด
๐ต
is the angular velocity of the ๐ต frame relative to the ๐ด frame [8].
More compact ways of representing an orientation are available. The axis-angle
representation identifies the transformation between two reference frames as a rotation
by a single net rotation angle ๐œƒ about a unit length โ€œEigen-axisโ€ ๐‘Žฬ‚. Alternatively, we may
specify the transformation as a sequence of three rotations about the basis axes. The
angles, in sequence, are known as โ€œEulerโ€ angles.
Either case exhibits special orientations (called โ€œsingularitiesโ€ in formal literature
[9]) for which a unique set of parameters may not be determined. Many Earth-bound
applications (e.g. submarines, land vehicles, and passenger planes) may avoid these
singularities by restricting their operational envelopes (e.g. not being designed to
execute a 90ยฐ roll).
29
Satellites in space, however, do not often have such restrictions placed on the
attitudes they can occupy. Their constraints tend to be more exotic (such as the attitude
mandatory and forbidden constraints discussed in Chapter 1) thus necessitating a
singularity-free expression of attitude.
For this reason, space-based applications use four-element parameters called
โ€œEuler symmetric parametersโ€ or โ€œquaternions.โ€ Because they do not contain a minimal
set of three elements, quaternions are able to store all of the information necessary to
specify a unique orientation in space. These elements may be uniquely determined from
any DCM, including those which would create singularities in other representations.
Formally, quaternions are complex numbers consisting of one real, and three
imaginary components. However, in the context of this document, any quaternion is
treated as a 4 ร— 1 matrix (or four-dimensional column vector) of the form
๐‘ž โ‰ [
๐‘Žฬ‚ sin( ๐œƒ 2โ„ )
cos( ๐œƒ 2โ„ )
] โ‰ [
๐œ€
๐œ‚] โ‰ [
๐œ€1
๐œ€2
๐œ€3
๐œ‚
] (2-7)
where ๐‘Žฬ‚ is the the Eigen-axis of the rotation (the parameterization of which is context-
dependent), and ๐œƒ is the rotation angle. As a point of interest, it follows from Eq. 2-7 that
|๐‘ž| = โˆšsin2( ๐œƒ 2โ„ ) + cos2( ๐œƒ 2โ„ ) โ‰ก 1,
thus any quaternion representing a pure rotation (which, in this context, is the only
quaternion we will use) is of unit โ€œlength.โ€
The inverse rotation can be represented by a quaternion obtained in one of two
ways: either by rotating the starting coordinate basis about ๐‘Žฬ‚ by an angle โ€“ ๐œƒ, or by
rotating about โˆ’๐‘Žฬ‚ by ๐œƒ. Modifying Eq. 2-7, the inverse quaternion can be written as
30
๐‘žโˆ’1
= [
๐‘Žฬ‚ sin(โˆ’ ๐œƒ 2โ„ )
cos(โˆ’ ๐œƒ 2โ„ )
] = [
๐‘Žฬ‚ sin( ๐œƒ 2โ„ )
โˆ’ cos( ๐œƒ 2โ„ )
] โ‰ก [
๐œ€
โˆ’๐œ‚] ; (2-8a)
๐‘žโˆ’1
= [
โˆ’๐‘Žฬ‚ sin( ๐œƒ 2โ„ )
cos( ๐œƒ 2โ„ )
] โ‰ก [
โˆ’๐œ€
๐œ‚ ] = โˆ’ [
๐œ€
โˆ’๐œ‚] โ‰ก โˆ’๐‘žโˆ’1
. (2-8b)
Note that Eqs. 2-8a and 2-8b are equivalent, despite being separated by a factor of โˆ’1.
This interesting property is called โ€œsign ambiguityโ€, and implies that for any quaternion
๐‘ž = โˆ’๐‘ž.
It will also be useful to note that applying any two rotations represented by the
quaternions ๐‘ž1 and ๐‘ž2 to a starting coordinate basis is equivalent to applying a single
rotation represented by may be expressed as a single rotation represented by the
quaternion ๐‘ž ๐‘’ (also known as the โ€œquaternion errorโ€). If basis 1 and 2 are reached by
respectively applying ๐‘ž1 and ๐‘ž2 to the starting basis, then the quaternion error is
determined by applying the โ€œquaternion product [10]โ€ to ๐‘ž2 and ๐‘ž1
โˆ’1
๐‘ž ๐‘’ โ‰ ๐‘ž2 โŠ— ๐‘ž1
โˆ’1
,
which has the equivalent matrix expression
๐‘ž ๐‘’ = [
โˆ’๐œ€1
ร—
+ ๐œ‚2 ๐•€ โˆ’๐œ€1
๐œ€1
๐‘‡
๐œ‚1
] [
๐œ€2
๐œ‚2
], (2-9)
where ๐•€ denotes the identity matrix of dimension 3x3.
Equation 2-9 shows that the quaternion error can be obtained by applying a
linear operation on ๐‘ž2. However, it may be useful to express the quaternion error as a
linear operation on ๐‘ž1 instead. Reorganization of Eq. 2-9 results in the expression
๐‘ž ๐‘’ = [
๐œ€2
ร—
โˆ’ ๐œ‚2 ๐•€ ๐œ€2
๐œ€2
๐‘‡
๐œ‚2
] [
๐œ€1
๐œ‚1
], (2-10)
31
Thus, from these two equivalent forms of the quaternion error, we may define the
โ€œquaternion error matrixโ€ of type 1 from Eq. 2-9, and of type 2 from Eq. 2-10:
๐‘„1 (๐‘ž) โ‰ [
โˆ’๐œ€ร—
+ ๐œ‚๐•€ โˆ’๐œ€
๐œ€ ๐‘‡
๐œ‚
] ; (2-11a)
๐‘„2 (๐‘ž) โ‰ [
๐œ€ร—
โˆ’ ๐œ‚๐•€ ๐œ€
๐œ€ ๐‘‡
๐œ‚
]. (2-11b)
If we then substitute Eqs. 2-11a and 2-11b into Eqs. 2-9 and 2-10 respectively, we find
that a more compact expression for the quaternion error may be used:
๐‘ž ๐‘’ = ๐‘„1 (๐‘ž1) ๐‘ž2 = ๐‘„2 (๐‘ž2) ๐‘ž1. (2-12)
Equation 2-12 affords us a meaningful, compact way of expression the effective
difference between two rotations, which will become useful later. For now, however, we
must also be concerned with locating a similar expression for a quaternion rate.
Because a quaternion contains four elements, so too must its TD1. However,
recall from Eq. 2-6 that the TD1 of an orientation is dependent on its angular velocity โ€“ a
physical vector consisting of three elements. A quaternion representation of orientation
should therefore be no different, so we must introduce a rectangular matrix to reconcile
this difference in the dimensionality:
ฮž (๐‘ž) โ‰ [
๐œ€ร—
+ ๐œ‚๐•€
โˆ’๐œ€ ๐‘‡
]. (2-13)
The matrix defined in Eq. 2-13 is called the โ€œquaternion rate matrixโ€, and converts the
angular velocity of a coordinate system into a quaternion rate. For a coordinate system
defined by an orientation ๐‘ž and angular velocity ๐œ”, the TD1 of ๐‘ž (i.e. ๐‘žฬ‡) is
๐‘žฬ‡ =
1
2
ฮž (๐‘ž) ๐œ”. (2-14)
32
Derivatives of (and With Respect to) Multi-Dimensional Quantities
The previous discussion about the differentiation of a quaternion serves as an
indicator of the important role of derivatives in the field of nonlinear and APF-based
control. In fact, it will often be required of us to differentiate these multi-dimensional
quantities โ€“ sometimes with respect to other quantities of the same dimensionality.
We will find that any matrix can be differentiated with respect to a scalar quantity,
but only a scalar can be differentiated with respect to a matrix. Furthermore, in the case
where a matrix represents a column vector, we may introduce new definitions to allow
for the differentiation of either a vector with respect to a vector.
In most applications, differentiation is applied to a scalar with respect to another
scalar. For example, if ๐‘ฆ and ๐‘ฅ are scalars, then the derivative ๐ท of ๐‘ฆ with respect to ๐‘ฅ
can be written as
๐ท โ‰
๐‘‘๐‘ฆ
๐‘‘๐‘ฅ
if and only if ๐‘ฆ is a function of only ๐‘ฅ. More generally, if ๐‘ฆ is a function of other variables,
then the derivative ๐ท can be written as
๐ท โ‰
๐œ•๐‘ฆ
๐œ•๐‘ฅ
(2-15)
Similarly, we may differentiate a general ๐‘› ร— ๐‘š matrix with respect to a scalar.
This also applies to vector quantities, since they may be represented as matrices. In
general, if ๐‘€ โˆˆ โ„ ๐‘›ร—๐‘š
, then the derivative ๐ท of ๐‘€ with respect to a scalar ๐‘ฅ is defined as
๐ท โ‰
[
๐œ•๐‘€11
๐œ•๐‘ฅ
โ‹ฏ
๐œ•๐‘€1๐‘š
๐œ•๐‘ฅ
โ‹ฎ โ‹ฑ โ‹ฎ
๐œ•๐‘€ ๐‘›1
๐œ•๐‘ฅ
โ‹ฏ
๐œ•๐‘€ ๐‘›๐‘š
๐œ•๐‘ฅ ]
(2-16)
33
[11], [12], [13] In other words, differentiating a vector or matrix with respect to a scalar is
equivalent to differentiating every element of that vector or matrix individually.
We will also need to consider the derivative a vector (but not a matrix [11]) with
respect to another vector. Note that, just as a vector can be represented as a single-
column matrix, so too may a scalar be represented as a single-element vector. In
general, if ๐‘ข โˆˆ โ„ ๐‘›
and ๐‘ฃ โˆˆ โ„ ๐‘š
, then the derivative ๐ท of ๐‘ข with respect to ๐‘ฃ is defined as
๐ท โ‰
[
๐œ•๐‘ข1
๐œ•๐‘ฃ1
โ‹ฏ
๐œ•๐‘ข1
๐œ•๐‘ฃ ๐‘›
โ‹ฎ โ‹ฑ โ‹ฎ
๐œ•๐‘ข ๐‘›
๐œ•๐‘ฃ1
โ‹ฏ
๐œ•๐‘ข ๐‘›
๐œ•๐‘ฃ ๐‘š]
(2-17)
[11], [12], [13] Note that in the case where ๐‘ข โˆˆ โ„1
โ†’ ๐‘ข โˆˆ โ„, Eq. 2-17 reduces to a row
vector ๐ท ๐‘‡
(where ๐ท โˆˆ โ„ ๐‘›
). Furthermore, in the case where ๐‘ฃ โˆˆ โ„1
โ†’ ๐‘ฃ โˆˆ โ„, Eq. 2-17
reduces to Eq. 2-16. If both conditions are true, then Eq. 2-17 fully reduces to Eq. 2-15.
These reduction checks serve to indicate that the general form of the matrix derivative
in Eq. 2-17 is valid in every case that we will encounter here.
Finally (for completenessโ€™ sake), a derivative taken with respect to a matrix is
only valid with respect to a scalar [11]. The derivative ๐ท of the scalar ๐‘ฆ with respect to a
matrix ๐‘€ is thus defined as
๐ท โ‰
[
๐œ•๐‘ฆ
๐œ•๐‘€11
โ‹ฏ
๐œ•๐‘ฆ
๐œ•๐‘€ ๐‘›1
โ‹ฎ โ‹ฑ โ‹ฎ
๐œ•๐‘ฆ
๐œ•๐‘€1๐‘š
โ‹ฏ
๐œ•๐‘ฆ
๐œ•๐‘€ ๐‘›๐‘š]
[11] Note that if ๐‘€ โˆˆ โ„ ๐‘›ร—๐‘š
โ†’ ๐‘€ โˆˆ โ„ ๐‘›
then ๐ท reduces to Eq. 2-17, thus we find that the
generality of these definitions hold for all special cases.
34
As a point of interest, some conventions transpose the resulting derivative
matrices for various reasons. Equations 2-15 through 2-17 thus represent the
untransposed form, giving them โ€œthe advantage of better agreement of matrix products
with composition schemes such as the chain rule [12].โ€
Reference [11] compactly provides the form of each derivative given the type of
quantity being differentiated, and that which it is being differentiated with respect to.
Table 2-1. Summary of derivatives discussed in this section, as outlined in [11]. The
first row shows the type of quantity being differentiated; the first column
shows the type of quantity it is being differentiated with respect to.
Diff. W.R.T. Diff. Of Scalar Diff. Of Vector Diff. Of Matrix
Scalar
๐‘‘๐‘ฆ
๐‘‘๐‘ฅ
๐‘‘๐‘ข
๐‘‘๐‘ฅ
= [
๐œ•๐‘ข๐‘–
๐‘‘๐‘ฅ
]
๐‘‘๐‘€
๐‘‘๐‘ฅ
= [
๐œ•๐‘€๐‘–๐‘—
๐‘‘๐‘ฅ
]
Vector
๐‘‘๐‘ฆ
๐‘‘๐‘ฃ
= [
๐œ•๐‘ฆ
๐œ•๐‘ฃ๐‘—
]
๐‘‘๐‘ข
๐‘‘๐‘ฃ
= [
๐œ•๐‘ข๐‘–
๐‘‘๐‘ฃ๐‘—
]
Matrix
๐‘‘๐‘ฆ
๐‘‘๐‘€
= [
๐œ•๐‘ฆ
๐œ•๐‘€๐‘—๐‘–
]
The properties of matrix derivatives are largely similar to those of scalar
derivatives. They can be found summarized in [13], [14], and [15]. Of particular use is
the โ€œmultivariate chain ruleโ€ which will allow us to differentiate quantities with multiple
dimensions and dependencies.
๐‘‘๐‘“ =
๐œ•๐‘“
๐œ•๐‘ฅ1
๐‘‘๐‘ฅ1 + โ‹ฏ +
๐œ•๐‘“
๐œ•๐‘ฅ ๐‘›
๐‘‘๐‘ฅ ๐‘› (2-18)
35
CHAPTER 3
METHODOLOGY
Formal Definition of an APF
An APF is a scalar potential function, hereafter denoted by ๐œ‘ or ๐œ‘ (๐“…) where
๐“… โˆˆ โ„› ๐‘›
is a vector containing ๐‘› independent variables. For example, if the state is
written as ๐“… = [ ๐‘ฅ ๐‘ฆ] ๐‘‡
(corresponding to coordinates in a horizontal plane), then ๐œ‘ can
be visualized as a surface in 3-dimensional Cartesian space as in Figure 3-1.
Figure 3-1. An abstracted potential function containing a sample of six initial states, and
their corresponding paths to the nearest local minimum.
36
Recall from [3] that states (coordinates on the surface) corresponding to low
values of ๐œ‘ are more desirable than those corresponding to high values. By inspection,
it can be seen that an arbitrarily chosen point on the surface (represented in Figure 3-1
by the six sample points ๐“…๐‘– = [ ๐‘ฅ๐‘– ๐‘ฆ๐‘–] (๐‘– = 1, โ€ฆ ,6)) lies on a unique path formed by the
local negative gradient. According to the method of Lyapunov, such a path must always
terminate at a local minimum. In Figure 3-1, the two possible local minima are
represented by the points ๐“… ๐ด = [ ๐‘ฅ ๐ด ๐‘ฆ ๐ด] and ๐“… ๐ต = [ ๐‘ฅ ๐ต ๐‘ฆ ๐ต]. If, instead of a fixed point
in space, the potential-bound state is visualized as a loose particle free to move along
the surface of the APF, then a particle released at any point will propagate towards a
more desirable state by following such a path.
To state this more formally: A state ๐“… constrained to an APF ๐œ‘ and initial
condition ๐“…0 will always propagate towards a local minimum if and only if the rate ๐œ‘ฬ‡ at
which the stateโ€™s potential changes is negative-definite at every point along the path
(not inclusive of the final endpoint, at which ๐œ‘ฬ‡ = 0).
There are three requirements for the asymptotically stable convergence of
Lyapunovโ€™s method, which are mathematically expressed in [16] as:
๐œ‘(0) = 0; ๐œ‘ (๐“…) > 0 โˆ€ ๐“… โ‰  0, (3-1)
๐œ‘ฬ‡ (๐“…) โ‰ค 0 โˆ€ ๐“…, (3-2)
โ€–๐œ‘ (๐“…)โ€– โ†’ โˆž as โ€–๐“…โ€– โ†’ โˆž. (3-3)
The first requirement provided by Eq. 3-1 requires the positive semi-definiteness
of the APF. If negative values of ๐œ‘ are allowed, then a perpetually negative ๐œ‘ฬ‡ would
conceivably result in values of ๐œ‘ approaching (negative) infinity.
37
The second requirement (Eq. 3-2) therefore pertains to the positive semi-
definiteness of the TD1 of the APF. This requirement is more obvious than the other
two, as a positive ๐œ‘ฬ‡ would lead away from convergence to a local minimum.
Finally, the third requirement (Eq. 3-3) pertains to the radial unboundedness of
the APF. This is, perhaps, the least intuitive requirement. Note that the example
potential function in Figure 3-1 takes the shape of a โ€œbowlโ€, which is to say that it
approaches infinity in any radial direction. This allows for asymptotic convergence for
states whose initial conditions are of large magnitude compared to the primary
workspace of the system.
Observing all requirements, the system is asymptotically stable in state space
(the space containing all possible values for the state ๐“…) for any initial condition ๐“…0 [16].
However, it is worth noting that there is no condition to guarantee convergence to the
absolute minimum, as other local minima may exist (recall the local minimum problem
described in Chapter 1).
Defining the Error States
In the absence of constraints, only an attractive potential is necessary to drive
the state of the spacecraft towards its desired value. However, the state being
manipulated must first be defined. Let ๐‘ž be the quaternion representing the present
orientation of the spacecraft, and ๐‘ž ๐‘“ be the quaternion representing the orientation that
the spacecraft is attempting to reach. Recall from Chapter 2 that the quaternion error
corresponding to the difference between the current and final states is
๐‘ž ๐‘’ = [
โˆ’๐œ€ ๐‘“
ร—
+ ๐œ‚ ๐‘“ ๐•€ โˆ’๐œ€ ๐‘“
๐œ€ ๐‘“
๐‘‡
๐œ‚ ๐‘“
] [
๐œ€
๐œ‚] (2-9)
38
Note that as ๐‘ž โ†’ ๐‘ž ๐‘“, Eq. 2-9 reduces to ๐‘ž ๐‘’ = [0 ๐‘‡
ยฑ1] ๐‘‡
โ€“ the โ€œeffective zero state
orientationโ€ which represents convergence. Thus the quaternion error represents the
relative rotation of the current โ€œbody frameโ€ (the reference frame fixed to the satellite)
relative to the final โ€œtracking frameโ€ as shown in Figure 3-2.
Figure 3-2. The relative orientations of the inertial, body, and tracking frames.
The first observation we can make about the effective zero state orientation is
that its magnitude is nonzero. More specifically, since ๐‘ž ๐‘’ represents a pure rotation, it is
necessarily of unit length. However, in our discussion of the method of Lyapunov in
Chapter 1, it was stated that the purpose of the controller is to drive the relative state to
zero. This requirement has not changed: even though the effective zero state has a
nonzero magnitude, it is representative of a zero degree rotation about any axis, and
can therefore be regarded as โ€œzero in natureโ€ or โ€œeffectivelyโ€ zero.
39
The second observation is that there is not one, but two possible values of
convergence. Specifically, the parameter ๐œ‚ ๐‘’ can converge to either +1 or โˆ’1, which
corresponds to a relative rotation of either 0ยฐ or 360ยฐ about any axis. This arises from
the sign ambiguity demonstrated in Eqs. 2-8a and 2-8b. Note that, no matter which state
is converged upon, the end result is zero relative attitude.
Another quantity of importance is the โ€œangular velocity errorโ€ ๐œ” ๐‘’ โ€“ the angular
velocity of the body frame with respect to the tracking frame, which is implicitly
parameterized in the body frame. As such, ๐œ” ๐‘’ can be calculated by taking the difference
of the body frame angular velocity ๐œ”, and the tracking frame angular velocity ๐œ” ๐‘’ (after it
has been re-evaluated in the body frame). Thus
๐œ” ๐‘’ = ๐œ” โˆ’ ๐‘… ๐‘’ ๐œ” ๐‘“ (3-4)
where ๐‘… ๐‘’ is the DCM representation of the orientation represented by ๐‘ž ๐‘’.
The Unconstrained Case
With the relative states defined, we may now specify an attractive potential to
bring it to its zero value. Recall from Chapter 1 that this has been typically accomplished
by using a Lyapunov potential function of the form
๐‘‰ =
1
2
โˆ‘ ๐ผ๐‘– ๐œ”๐‘–
2
3
๐‘–=1
+
1
2
โˆ‘ ๐œ†(๐œƒ๐‘– โˆ’ ๐œƒ๐‘–)
2
3
๐‘–=1
, (1-12)
which was effective when the only constraints being enforced were directly placed on
the orientation of the spacecraft, and not the angular velocity. It will eventually be shown
that a general framework requires the separation of the APF into two distinct stages โ€“
one for orientation, and one for angular velocity. For now, we will only consider an APF
that affects the former (indicated by a subscript 1):
40
๐œ‘1,๐‘Ž =
1
2
๐œ€ ๐‘’
๐‘‡
๐œ€ ๐‘’ +
1
2
(1 โˆ’ ๐œ‚ ๐‘’
2). (3-5)
Note that unlike Eq. 1-13, Eq. 3-5 is in terms of the quaternion components ๐œ€ ๐‘’ and ๐œ‚ ๐‘’.
A quick check shows that as ๐‘ž ๐‘’ โ†’ [0 ๐‘‡
ยฑ1] ๐‘‡
, the potential ๐œ‘1,๐‘Ž approaches 0
(regardless of the unit length requirement or sign ambiguity of ๐‘ž ๐‘’). Furthermore, since
๐œ€ ๐‘’
๐‘‡
๐œ€ ๐‘’ > 0 โˆ€ ๐œ€ โ‰  0, and ๐œ‚ ๐‘’
2
โ‰ cos2( ๐œƒ๐‘’ 2โ„ ) < 1 โˆ€ 0ยฐ < ๐œƒ๐‘’ < 360ยฐ, it follows that ๐œ‘1,๐‘Ž > 0
when ๐‘ž ๐‘’ โ‰  [0 ๐‘‡
ยฑ1] ๐‘‡
. Thus, Eq. 3-5 satisfies the condition of positive definiteness.
The condition of radial unboundedness may be ignored in this instance; since the
magnitude of the state ๐‘ž ๐‘’ never approaches infinity, there is no need to check for radial
unboundedness. However, in order to verify that Eq. 3-2 is satisfied, we must calculate
the TD1 of Eq. 3-5. Applying the chain rule yields
๐œ‘ฬ‡1,๐‘Ž =
๐œ•๐œ‘1,๐‘Ž
๐œ•๐‘ž ๐‘’
๐‘‘๐‘ž ๐‘’
๐‘‘๐‘ก
. (3-6)
Recognizing that ๐‘ž ๐‘’ = [๐œ€ ๐‘’
๐‘‡
๐œ‚ ๐‘’] ๐‘‡
, it follows from Eq. 2-17 that
๐œ•๐œ‘1,๐‘Ž
๐œ•๐‘ž ๐‘’
= [
๐œ•๐œ‘1,๐‘Ž
๐œ•๐œ€ ๐‘’
๐œ•๐œ‘1,๐‘Ž
๐œ•๐œ‚ ๐‘’
] = [๐œ€ ๐‘’
๐‘‡
โˆ’๐œ‚ ๐‘’] = โˆ’ [๐‘ž ๐‘’
โˆ’1]
๐‘‡
. (3-7)
Considering Eq. 3-7 and Eq. 2-6, Eq. 3-6 can be rewritten as
๐œ‘ฬ‡1,๐‘Ž = โˆ’
1
2
[ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘ž ๐‘’
โˆ’1]
๐‘‡
๐œ”๐‘’. (3-8)
Recall that Eq. 3-8 must be at least negative semi-definite to be in accordance
with Eq. 3-2. However, this can only be guaranteed by specifying a form for one or more
of its variables. The quaternion error ๐‘ž ๐‘’ has a known value determined by on-board
sensors, implying that its form cannot be adjusted to determine the control solution.
41
However, assume that the angular velocity error ๐œ” ๐‘’ โ†’ ๐œ” ๐‘’,๐‘‘ is a desired value,
rather than a current evaluation. Allowing this, then the form of ๐œ” ๐‘’,๐‘‘ can be specified
such that Eq. 3-8 is negative semi-definite and Eq. 3-2 is satisfied. To ensure this, we
define a positive definite gain matrix ๐พ1. By definition, ๐พ1 satisfies the inequality relation
๐‘ฃ ๐‘‡
๐พ1 ๐‘ฃ > 0 โˆ€ ๐‘ฃ โˆˆ โ„3
. Thus, a negative semi-definite equation for ๐œ‘ฬ‡1,๐‘Ž is
๐œ‘ฬ‡1,๐‘Ž = โˆ’
1
2
[ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘ž ๐‘’
โˆ’1]
๐‘‡
๐พ1 [ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘ž ๐‘’
โˆ’1]. (3-9)
Relating Eq. 3-8 and Eq. 3-9, it follows that
๐œ” ๐‘’,๐‘‘ = ๐พ1ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘ž ๐‘’
โˆ’1
. (3-10)
Equation 3-10 indicates the โ€œdesired angular velocity errorโ€ of the spacecraft. If
mission controllers could adjust the angular velocity of the spacecraft directly without
the need for angular momentum exchange devices on board, then ๐œ” ๐‘’,๐‘‘ represents the
โ€œtargetโ€ angular velocity at the current orientation relative to the tracking state. However,
since this is not the case, a second stage APF must be designed to compute the torque
that must be supplied by onboard systems.
Just as the first stage APF served to drive the relative orientation towards its
effective zero value, the second stage APF must drive the relative angular velocity
towards zero. However, in this case โ€œrelative angular velocityโ€ refers to the difference
between the actual value of the current angular velocity error (determined from Eq. 3-4),
and its desired value (determined from Eq. 3-10). Such a potential can take the form
๐œ‘2,๐‘Ž =
1
2
ฮ”๐œ”๐‘’
๐‘‡
ฮ”๐œ”๐‘’, (3-11)
where ฮ”๐œ”๐‘’ โ‰ ๐œ” ๐‘’ โˆ’ ๐œ” ๐‘’,๐‘‘. Note that Eq. 3-1 is satisfied since ฮ”๐œ”๐‘’
๐‘‡
ฮ”๐œ”๐‘’ > 0 โˆ€ ฮ”๐œ”๐‘’ โ‰  0.
42
Likewise, substituting large magnitude values of ฮ”๐œ” into Eq. 3-11 satisfies the
condition of radial unboundedness. However, we must take the TD1 of Eq. 3-11 to verify
that Eq. 3-2 is satisfied. Once more referring to proof 3 of Appendix A, we find that
๐œ‘ฬ‡2,๐‘Ž = ฮ”๐œ”๐‘’
๐‘‡
ฮ”๐œ”ฬ‡ ๐‘’, (3-12)
where ฮ”๐œ”ฬ‡ ๐‘’ contains the torque vector ๐œ for which we can specify a form to ensure the
negative semi-definiteness of Eq. 3-12.
The TD1 of ฮ”๐œ”๐‘’ is
ฮ”๐œ”ฬ‡ ๐‘’ = ๐œ”ฬ‡ ๐‘’ โˆ’ ๐œ”ฬ‡ ๐‘’,๐‘‘, (3-13)
where ๐œ”ฬ‡ ๐‘’,๐‘‘ must be computed separately. However, ๐œ”ฬ‡ ๐‘’ can be re-written in terms of
known angular velocities (and their TD1s), as demonstrated in proof 1 of Appendix B.
Defining a new quantity ๐’ป๐‘’ called the โ€œfeed forward vectorโ€, (so named because it
propagates information about the current angular velocity and orientation forward
through time) Eq. 3-13 can be rewritten as
ฮ”๐œ”ฬ‡ ๐‘’ = ๐œ”ฬ‡ + ๐’ป๐‘’, (3-14)
where
๐’ป๐‘’ โ‰ ๐œ”ร—
โ„› ๐‘’ ๐œ” ๐‘“ โˆ’ โ„› ๐‘’ ๐œ”ฬ‡ ๐‘“ โˆ’ ๐œ”ฬ‡ ๐‘’,๐‘‘. (3-15)
An attractive aspect of Eq. 3-14 is that the first term ๐œ”ฬ‡ โ€“ the angular velocity rate
of the body as measured in the body frame โ€“ is now the only one containing the torque
vector ๐œ. It follows from Eulerโ€™s equations for rotational motion for a rigid body that
๐œ”ฬ‡ = ๐•โˆ’1
(๐œ โˆ’ ๐œ”ร—
๐•๐œ”), (3-16)
where ๐• is the centroidal moment of inertia tensor for the rigid body.
43
Substituting Eq. 3-16 into Eq. 3-14, then further substituting into Eq. 3-12 yields
๐œ‘ฬ‡2,๐‘Ž = ฮ”๐œ” ๐‘’
๐‘‡
[๐•โˆ’1
(๐œ โˆ’ ๐œ”ร—
๐•๐œ”) + ๐’ป๐‘’], (3-17)
where we may enforce the negative definiteness of Eq. 3-17 by specifying a favorable
form for the control state. In this case, we define a second positive definite gain matrix
๐พ2 such that
๐œ‘ฬ‡2,๐‘Ž = โˆ’ฮ”๐œ” ๐‘’
๐‘‡
๐พ2ฮ”๐œ”๐‘’. (3-18)
Equating Eq. 3-17 with Eq. 3-18, we find the favorable form of ๐œ to be
๐œ = ๐œ”ร—
๐•๐œ” โˆ’ ๐• (๐พ2ฮ”๐œ”๐‘’ + ๐’ป๐‘’). (3-19)
The practice of using a sequence of two APFs in this manner is called โ€œback-
steppingโ€, and will eventually be used to separate repulsive potential function into APFs
that affect orientation from those which affect angular velocity. Because the angular
velocity of a system cannot be integrated to obtain its orientation, this approach is
absolutely necessary to ensure a valid control solution.
General Constraints
Using the attractive potentials of Eq. 3-5 and Eq. 3-11, the body-fixed coordinate
frame of the spacecraft will always converge asymptotically towards its desired value,
specified by the tracking frame. This is because we have specified a form for the control
state which satisfies the conditions of Eqs. 3-1 through 3-3.
Note that this analysis was predicated on the assumption that no constraints
existed โ€“ thus the case was said to be โ€œunconstrained.โ€ As discussed in Chapter 1, we
would eventually like to create a controller which satisfies any constraint (chief among
which is the keep-out constraint).
44
These constraints are each represented by a โ€œrepulsive potential.โ€ As the name
implies, the repulsive potentials work against the attractive potential to ensure that the
state does not cross a constraint boundary. Since there are two stages of attractive
potential, there will also be two stages of repulsive potential. Furthermore โ€“ just as with
the attractive potentials โ€“ the first stage repulsive potential affects changes in
orientation, while the second affects changes in angular velocity.
First though, we must consider the structure of the APF common to both stages.
If the total APF ๐œ‘ is merely the superposition of its constituent (attractive and repulsive)
potentials, then its magnitude is
๐œ‘ = โˆ‘ ๐œ‘๐‘–
๐‘
๐‘–=0
, (3-20)
where ๐œ‘๐‘– is the ๐‘–th
potential function of any form.
Note that in either stage, there is always an attractive potential component to Eq.
3-20. If we assume that ๐‘– = 0 is โ€œreservedโ€ for the attractive potential, Eq. 3-20 may be
rewritten as
๐œ‘ = ๐œ‘ ๐‘Ž + โˆ‘ ๐œ‘๐‘–
๐‘
๐‘–=1
. (3-21)
Recall that, in order to satisfy Eq. 3-1, we require that Eq. 3-21 evaluates to zero
at the goal state. Since each potential is independent of all others, we can only
generally assume that their sum is zero if each term is itself zero. This was done by
assuming the form
๐œ‘ = ๐œ‘ ๐‘Ž + โˆ‘ ๐‘๐‘– ๐œ‘ ๐‘Ž ๐œ‘ ๐‘Ÿ,๐‘–
๐‘
๐‘–=1
= ๐œ‘ ๐‘Ž (1 + โˆ‘ ๐‘๐‘– ๐œ‘ ๐‘Ÿ,๐‘–
๐‘
๐‘–=1
) โ‰ ๐œ‘ ๐‘Ž ๐œ‘๐‘Ÿ, (3-22)
45
which has the TD1
๐œ‘ฬ‡ = ๐œ‘ฬ‡ ๐‘Ž ๐œ‘๐‘Ÿ + ๐œ‘ ๐‘Ž ๐œ‘ฬ‡ ๐‘Ÿ. (3-23)
In Eq. 3-22, ๐‘๐‘– is a positive scaling constant, and ๐œ‘ ๐‘Ÿ,๐‘– is the ๐‘–th
repulsive potential.
Thus, the relationship between the attractive and repulsive potential is (somewhat
unexpectedly) multiplicative rather than additive. However, being potentials, each ๐œ‘ ๐‘Ÿ,๐‘–
must be positive definite with a negative definite TD1. Therefore, the definition of ๐œ‘๐‘Ÿ (the
โ€œtotal repulsive potentialโ€) prohibits it from every being larger than one.
It then follows that Eq. 3-22 can equal zero if and only if the attractive potential is
zero. In other words, the repulsive potentials affect the path to convergence, but they do
not determine the goal state. For this reason, there is little use in expressing repulsive
potentials in terms of the error state, or even the final state.
First Stage Repulsive Potential
In general, a first stage repulsive potential may be a function of any orientation
illustrated in Figure 3-2 (i.e. ๐œ‘1,๐‘Ÿ = ๐œ‘1,๐‘Ÿ (๐‘ž, ๐‘ž ๐‘“, ๐‘ž ๐‘’)). Although, the quaternion error ๐‘ž ๐‘’ is a
function of the body and tracking orientations (๐‘ž and ๐‘ž ๐‘“ respectively), it is a convenient
parameter to represent terms containing a variance on both ๐‘ž and ๐‘ž ๐‘“. Because of this,
we will carry on treating the generalized APF as a function of all three orientations,
though we may later reduce its dependency to be only on the body-frame orientation. In
holding with the form of Eq. 3-22, the TD1 of the potential can be written thusly:
๐œ‘ฬ‡1,๐‘Ÿ = โˆ‘ ๐‘๐‘– ๐œ‘ฬ‡1,๐‘Ÿ,๐‘–
๐‘
๐‘–=1
. (3-24)
46
The differentiation of the individual repulsive potentials must be carried out using
the multivariate chain rule of Eq. 2-18. Doing so yields:
๐œ‘ฬ‡1,๐‘Ÿ,๐‘– =
๐œ•๐œ‘1,๐‘Ÿ,๐‘–
๐œ•๐‘ž
๐œ•๐‘ž
๐œ•๐‘ž ๐‘’
๐‘žฬ‡ ๐‘’ +
๐œ•๐œ‘1,๐‘Ÿ,๐‘–
๐œ•๐‘ž ๐‘“
๐œ•๐‘ž ๐‘“
๐œ•๐‘ž ๐‘’
๐‘žฬ‡ ๐‘’ +
๐œ•๐œ‘1,๐‘Ÿ,๐‘–
๐œ•๐‘ž ๐‘’
๐‘žฬ‡ ๐‘’. (3-25)
Equation Eq. 3-25 can be reduced by expressing it in terms of the quaternion error
matrices ๐‘„1 and ๐‘„2. Recall from Eq. 2-12 that
๐‘ž ๐‘’ = ๐‘„1 (๐‘ž2) ๐‘ž1 = ๐‘„2 (๐‘ž1) ๐‘ž2. (2-12)
Proof 3 of Appendix B demonstrates that ๐‘„1 and ๐‘„2 are orthogonal, therefore
๐œ•๐‘ž
๐œ•๐‘ž ๐‘’
= ๐‘„1
๐‘‡
(๐‘ž ๐‘“);
๐œ•๐‘ž ๐‘“
๐œ•๐‘ž ๐‘’
= ๐‘„2
๐‘‡
(๐‘ž). (3-26)
Next, recall that the TD1 of any unit quaternion can be computed from Eq. 2-14
in terms of the quaternion rate matrix ฮž:
๐‘žฬ‡ =
1
2
ฮž (๐‘ž) ๐œ”. (2-14)
Thus substitution of Eqs. 2-14 and 3-26 into Eq. 3-25 yields
๐œ‘ฬ‡1,๐‘Ÿ,๐‘– =
1
2
[ฮž ๐‘‡
(๐‘ž ๐‘’) [๐‘„1 (๐‘ž ๐‘“) ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž) + ๐‘„2 (๐‘ž) ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘“) + ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘’)]]
๐‘‡
๐œ”๐‘’, (3-27)
where
๐‘”๐‘– (๐“…) โ‰ โˆ‡ ๐“…( ๐œ‘๐‘–) โ‰ [
๐œ•๐œ‘๐‘–
๐œ•๐“…
]
๐‘‡
(3-28)
is the gradient of the APF ๐œ‘๐‘– with respect to the parameter ๐“…, and can generally be
calculated from Eq. 2-17.
47
Owing to APF superposition, the gradient of the total repulsive potential ๐œ‘1,๐‘Ÿ is
equal to the sums of the individual APF gradients:
๐‘”1,๐‘Ÿ (๐‘ž) = โˆ‘ ๐‘๐‘–
๐‘
๐‘–=1
๐‘”1,๐‘Ÿ,๐‘– (๐‘ž) ; (3-29a)
๐‘”1,๐‘Ÿ (๐‘ž ๐‘“) = โˆ‘ ๐‘๐‘–
๐‘
๐‘–=1
๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘“) ; (3-29b)
๐‘”1,๐‘Ÿ (๐‘ž ๐‘’) = โˆ‘ ๐‘๐‘–
๐‘
๐‘–=1
๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘’). (3-29c)
Substitution of Eq. 3-27 into Eq. 3-24 and simplified by Eqs. 3-29a through c yields
๐œ‘ฬ‡1,๐‘Ÿ =
1
2
[ฮž ๐‘‡
(๐‘ž ๐‘’) [๐‘„1 (๐‘ž ๐‘“) ๐‘”1,๐‘Ÿ (๐‘ž) + ๐‘„2 (๐‘ž) ๐‘”1,๐‘Ÿ (๐‘ž ๐‘“) + ๐‘”1,๐‘Ÿ (๐‘ž ๐‘’)]]
๐‘‡
๐œ”๐‘’. (3-30)
Furthermore, recall that repulsive potentials are generally represented as functions of
the body state, in which case Eqs. 3-29b and 3-29c evaluate to zero. Therefore
๐œ‘ฬ‡1,๐‘Ÿ =
1
2
[ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘„1 (๐‘ž ๐‘“) ๐‘”1,๐‘Ÿ (๐‘ž)]
๐‘‡
๐œ”๐‘’. (3-31)
Equations 3-27 and 3-30 demonstrate a pattern which inspired the definition of a
new quantity โ€“ the โ€œpotential rate transformationโ€ (PRT) vector โ€“ which converts the
angular velocity error into an APF rate. The PRT vector is generally defined to be
ฮฆ( ๐œ‘) โ‰ ฮž ๐‘‡
(๐‘ž ๐‘’) [๐‘„1 (๐‘ž ๐‘“) ๐‘” ๐œ‘ (๐‘ž) + ๐‘„2 (๐‘ž) ๐‘” ๐œ‘ (๐‘ž ๐‘“) + ๐‘” ๐œ‘ (๐‘ž ๐‘’)], (3-32)
where the PRT vector (given by Eq. 3-32) satisfies the relation
๐œ‘ฬ‡ =
1
2
ฮฆ ๐‘‡( ๐œ‘) ๐œ”๐‘’. (3-33)
48
Setting ๐œ‘ = ๐œ‘1,๐‘Ÿ,๐‘– and ๐œ‘ = ๐œ‘1,๐‘Ÿ reduces Eq. 3-33 to Eqs. 3-27 and 3-31
respectively. We therefore expect the relation to hold if ๐œ‘ = ๐œ‘1,๐‘Ž, in which case the PRT
evaluates to
ฮฆ(๐œ‘1,๐‘Ž) = โˆ’ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘ž ๐‘’
โˆ’1
. (3-34)
As expected, substitution of Eq. 3-34 into Eq. 3-33 confirms the result found in Eq. 3-8.
We may now recast Eq. 3-23 in terms of the PRT vector for first stage potentials:
๐œ‘ฬ‡1 =
1
2
[ฮฆ(๐œ‘1,๐‘Ž)๐œ‘1,๐‘Ÿ + ฮฆ(๐œ‘1,๐‘Ÿ)๐œ‘1,๐‘Ž]
๐‘‡
๐œ”๐‘’. (3-35)
Encouragingly, Eq. 3-35 is of the same form as Eq. 3-33. Thus, it follows that the PRT
for the overall first-step potential is
ฮฆ( ๐œ‘1) = ๐œ‘1,๐‘Ÿฮฆ(๐œ‘1,๐‘Ž) + ๐œ‘1,๐‘Žฮฆ(๐œ‘1,๐‘Ÿ). (3-36)
As in the uncontrolled case, the control solution can be determined by ensuring
the negative definiteness of Eq. 3-35. Once more adopting the positive definite gain
matrix ๐พ1 from Eq. 3-9, this form was taken to be
๐œ” ๐‘’,๐‘‘ = โˆ’๐พ1ฮฆ( ๐œ‘1). (3-37)
Note that in the case of no repulsive potentials (i.e. the unconstrained case), Eq.
3-36 reduces to Eq. 3-34, and thus Eq. 3-37 reduces to Eq. 3-10. Ergo, Eq. 3-37
represents the generalized angular velocity error โ€“ computing its value requires only
that we compute the gradients with respect to orientation for each repulsive potential.
As with the unconstrained case, this intermediate control solution determines the
desired angular velocity error. Determining the โ€œtrueโ€ control solution requires the
general implementation of second stage repulsive potentials. We therefore expect such
a solution to reduce to Eq. 3-19 in the special case of no repulsive potentials.
49
Second Stage Repulsive Potential
Recall that the TD1 of the desired angular velocity error appears in Eq. 3-15 as
part of the feed forward vector ๐’ป๐‘’. Differentiating Eq. 3-37, we find that
๐œ”ฬ‡ ๐‘’,๐‘‘ = โˆ’๐พ1ฮฆฬ‡ ( ๐œ‘1),
thus requiring us to differentiate Eq. 3-36:
ฮฆฬ‡ ( ๐œ‘1) =
1
2
[ฮฆ(๐œ‘1,๐‘Ÿ)ฮฆ ๐‘‡(๐œ‘1,๐‘Ž) + ฮฆ(๐œ‘1,๐‘Ž)ฮฆ ๐‘‡(๐œ‘1,๐‘Ÿ)]๐œ”๐‘’
+ [๐œ‘1,๐‘Ÿฮฆฬ‡ (๐œ‘1,๐‘Ž) + ๐œ‘1,๐‘Žฮฆฬ‡ (๐œ‘1,๐‘Ÿ)].
(3-38)
The PRTs in Eq. 3-38 are all determined. However, their rates in the second term must
be determined by differentiating Eq. 3-32 evaluated at ๐œ‘ = ๐œ‘1,๐‘Ÿ and ๐œ‘ = ๐œ‘1,๐‘Ž. An
important consequence of this is that a gradient appearing in Eq. 3-32 will be
differentiated into what is known as a Hessian matrix ๐ป๐‘– (๐“…), which is defined as
๐ป๐‘– (๐“…) โ‰ โˆ‡โˆ‡ ๐“…( ๐œ‘๐‘–) โ‰
๐œ•
๐œ•๐“…
๐‘”๐‘– (๐“…). (3-39)
Proofs 4 and 5 in Appendix B show the TD1s of the first-stage repulsive and attractive
PRTs to be respectively evaluated to
ฮฆฬ‡ (๐œ‘1,๐‘Ÿ) = [ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘„1 (๐‘žฬ‡ ๐‘“) + ฮž ๐‘‡
(๐‘žฬ‡ ๐‘’) ๐‘„1 (๐‘ž ๐‘“)] ๐‘”1,๐‘Ÿ (๐‘ž) + ฮž ๐‘‡
(๐‘ž ๐‘’) ๐‘„1 (๐‘ž ๐‘“) ๐ป1,๐‘Ÿ (๐‘ž) ๐‘žฬ‡ (3-40)
and
ฮฆฬ‡ (๐œ‘1,๐‘Ž) =
1
2
(๐•€ โˆ’ 2๐œ€ ๐‘’ ๐œ€ ๐‘’
๐‘‡
) ๐œ” ๐‘’ โˆ’ ฮž ๐‘‡
(๐‘žฬ‡ ๐‘’) ๐‘ž ๐‘’
โˆ’1
. (3-41)
From Eqs. 3-40 and 3-41 follows the total PRT rate from Eq. 3-38, and thus the
rate of the desired angular velocity error. Therefore, with knowledge about angular
velocity and acceleration of the tracking coordinate frame (information which would be
specified by mission controllers), the feed forward vector from Eq. 3-15 is known!
50
However, the feed forward vector is only part of what is necessary to compute
the control solution. We have still yet to define the total second stage potential, or the
repulsive potentials it is comprised from.
It stands to reason that the second stage attractive potential defined ๐œ‘2,๐‘Ž does
not change from the unconstrained case in Eq. 3-11, since repulsive potentials do not
affect the relative state. Therefore, if we choose the multiplicative relation between the
attractive potential and repulsive potential as defined in Eq. 3-22, then the total second
stage potential can be written as
๐œ‘2 =
1
2
ฮ”๐œ”๐‘’
๐‘‡(ฮ”๐œ”๐‘’ ๐œ‘2,๐‘Ÿ), (3-42)
where ๐œ‘2,๐‘Ÿ is the total second stage repulsive term of the form defined in Eq. 3-22.
Since the second stage potentials control the angular velocity of the spacecraft, it
stands to reason that angular velocity will be one of the arguments. Perhaps less
intuitive is the dependence on orientation, which is not required for most applications,
but should be accounted for nonetheless.
Unsurprisingly, the control solution is embedded within the TD1 of Eq. 3-42.
Direct differentiation by way of product rule yields
๐œ‘ฬ‡2 = ฮ”๐œ”๐‘’
๐‘‡
(ฮ”๐œ”ฬ‡ ๐‘’ ๐œ‘2,๐‘Ÿ +
1
2
ฮ”๐œ”๐‘’ ๐œ‘ฬ‡2,๐‘Ÿ), (3-43)
where ฮ”๐œ”ฬ‡ ๐‘’ contains the known feed forward vector and ๐œ”ฬ‡ (which in turn contains the
control solution ๐œ).
Evaluating the TD1 of ๐œ‘2,๐‘Ÿ by chain rule, it follows that
๐œ‘ฬ‡2,๐‘Ÿ = ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)๐œ”ฬ‡ +
1
2
๐‘”2,๐‘Ÿ
๐‘‡
(๐‘ž)ฮž (๐‘ž) ๐œ”, (3-44)
where ๐‘” is the gradient vector defined in Eq. 3-28.
51
Recall that, as a consequence of Eq. 3-22,
๐‘”2,๐‘Ÿ(๐œ”) = โˆ‘ ๐‘๐‘– ๐‘”2,๐‘Ÿ,๐‘–(๐œ”)
๐‘
๐‘–=1
; (3-45a)
๐‘”2,๐‘Ÿ (๐‘ž) = โˆ‘ ๐‘๐‘– ๐‘”2,๐‘Ÿ,๐‘– (๐‘ž)
๐‘
๐‘–=1
. (3-45b)
Note that the striking similarity of Eqs. 3-45a and b to Eqs. 3-29a through c, thus
indicating that the methodology for these second stage potentials will be similar to that
for the first stage potentials. This is true, to a point. Since all first stage potentials were
functions of orientation, they could be consolidated into one quantity โ€“ the PRT vector.
However, because there is no integral relationship between angular velocity and
orientation, there is no analogous โ€œtrickโ€ for the second stage potentials. Therefore, we
must proceed with direct substitution of Eq. 3-44 into Eq. 3-43:
๐œ‘ฬ‡2 = ฮ”๐œ”๐‘’
๐‘‡ {ฮ”๐œ”ฬ‡ ๐‘’ ๐œ‘2,๐‘Ÿ +
1
2
ฮ”๐œ”๐‘’ [๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)๐œ”ฬ‡ +
1
2
๐‘”2,๐‘Ÿ
๐‘‡
(๐‘ž)ฮž (๐‘ž) ๐œ”]}. (3-46)
Further substitution of Eq. 3-14 into Eq. 3-46 allows us to fully separate terms
containing ๐œ”ฬ‡ from those containing ๐œ” and ๐‘ž:
๐œ‘ฬ‡2 = ฮ”๐œ”๐‘’
๐‘‡ {[๐œ‘2,๐‘Ÿ ๐•€ +
1
2
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)] ๐œ”ฬ‡ + [
1
4
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐‘ž) ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’]}. (3-47)
Recall that the torque vector ๐œ parameterized in the body frame is related to ๐œ”ฬ‡ by
Eulerโ€™s equation for rotational motion (Eq. 3-16). As with the first stage, we once more
reclaim a positive definite gain matrix from the unconstrained case to create a form for
๐œ‘ฬ‡2 that is negative definite. In this case, equating Eq. 3-18 with Eq. 3-47 yields
โˆ’๐พ2ฮ”๐œ” ๐‘’ = [๐œ‘2,๐‘Ÿ ๐•€ +
1
2
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)] ๐œ”ฬ‡ + [
1
4
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐‘ž)ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’]. (3-48)
52
Note that the common factor of ฮ”๐œ” ๐‘’
๐‘‡
has removed from both sides, thus ignoring
the trivial case where ฮ”๐œ”๐‘’ = 0 (which implies convergence has occurred anyway). Thus,
the left-hand side of Eq. 3-48 is representative of the negative definite form of ๐œ‘ฬ‡2, while
the right-hand side is the physical expression containing the control solution.
To solve for the torque vector, we must first solve for ๐œ”ฬ‡ . Consolidating the terms
of Eq. 3-48, we find that
โˆ’ [๐œ‘2,๐‘Ÿ ๐•€ +
1
2
ฮ”๐œ” ๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)] ๐œ”ฬ‡ =
1
4
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐‘ž)ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’ + ๐พ2ฮ”๐œ” ๐‘’. (3-49)
Solving for the control solution requires the inversion of [๐œ‘2,๐‘Ÿ ๐•€ +
1
2
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)], for which
we make use of the Kailath Variant of The Woodbury Identity provided in [13]:
[๐œ‘2,๐‘Ÿ ๐•€ +
1
2
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)]
โˆ’1
=
1
๐œ‘2,๐‘Ÿ
[๐•€ โˆ’
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)
2๐œ‘2,๐‘Ÿ + ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)ฮ”๐œ”๐‘’
]. (3-50)
Thus applying Eq. 3-50 to Eq. 3-49, and rewriting ๐œ”ฬ‡ in terms of ๐œ (in accordance with
Eulerโ€™s equation of rotational motion), we find that the control solution is given by
๐œ = ๐œ”ร—
๐•๐œ” โˆ’
1
๐œ‘2,๐‘Ÿ
๐• [๐•€ โˆ’
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)
2๐œ‘2,๐‘Ÿ + ๐‘”2,๐‘Ÿ
๐‘‡
(๐œ”)ฮ”๐œ”๐‘’
] [
1
4
ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ
๐‘‡
(๐‘ž) ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’ + ๐พ2ฮ”๐œ”๐‘’]. (3-51)
Note that in the absence of repulsive APFs, the repulsive potential gradients
become zero, and the magnitude of the total repulsive potential goes to one. It follows
that Eq. 3-51 reduces precisely to Eq. 3-19:
๐œ = ๐œ”ร—
๐•๐œ” โˆ’ ๐• (๐พ2ฮ”๐œ”๐‘’ + ๐’ป๐‘’), (3-19)
which is the control solution for the unconstrained case. This encouraging result
indicates that we have indeed found an asymptotically stable solution for general
constraints applied in the second stage.
53
Equation 3-51 belies a complex web of variables with many interdependencies
and relationships โ€“ all of which are illustrated in Figure 3-3.
Figure 3-3. Dependency chart for the generalized control solution.
Although imposing, Figure 3-3 demonstrates one of the primary advantages of
APF controls: There are no algorithms; no interpolation; and every dependency is
expressed analytically and in closed-form. The advantage of this is that it makes
computing a control solution quick and efficient, which may be desired over optimality.
54
CHAPTER 4
IMPLEMENTATION
Notable Constraints
The Pointing Constraint
With the framework in place, we are now able to construct models for various
constraints that are of concern to mission controllers. Of chief importance is the
โ€œpointing constraintโ€ โ€“ an elegantly simple problem which has a readily apparent impact
on the performance of real-world satellites in orbit.
However, at this stage in our discussion of the problem, it may not be clear what
is pointing where. A spacecraft may occupy any one of an infinite number of attitudes,
and to simply say โ€œa satellite cannot point in a directionโ€ is unhelpful unless we can
quantify what exactly that means.
For the purposes of this document, consider a spacecraft to be a collection of
body-fixed โ€œsensorโ€ vectors. These vectors may be representative of any direction fixed
in the body-fixed coordinate frame โ€“ solar panels (barring the use of any rotational
mechanisms to which they might be affixed); directional antennas; telescopes; star
trackers; sun sensors; or arbitrary vectors defined as a point of reference are all valid
examples of what could constitute a โ€œsensorโ€ in this context. All sensor vectors are
implicitly of unit length; expressed in the body-fixed coordinate frame of the spacecraft;
and denoted by the unit vector ๐‘ ฬ‚.
Next, we define an inertially-fixed โ€œconstraintโ€ vector ๐‘‘ฬ‚ which is of unit length and
expressed in the inertial coordinates frame. These vectors specify a direction
corresponding to an attitude which mission controllers would either like to avoid, or
55
converge to. These constraint vectors will nearly always be accompanied by a
constraint angle ๐›ฝ, representing a range of significant attitudes.
Significant attitude ranges can be represented in space by a cone whose axis is
parallel to ๐‘‘ฬ‚, and whose half-aperture angle is equal to ๐›ฝ. Furthermore, any sensor on
the spacecraft may have a different set of significant attitude ranges associated with it,
which may be either โ€œattitude forbiddenโ€ or โ€œattitude mandatory.โ€
For example, we may consider one of the body-fixed sensor vectors to represent
a directional high-gain antenna that can only operate when aimed at an Earth-bound
tracking station accurate to within some pre-defined margin of error. Conversely, the
sensor vector may represent some light-sensitive piece of equipment, in which case we
might require it to avoid pointing at the Sun, and even specifying an angular buffer zone
about the inertially fixed body-sun vector. Despite these possibilities, for now we need
only consider the case of a satellite with one body-fixed sensor vector and one
corresponding attitude forbidden zone (or โ€œkeep-outโ€ cone).
Single sensor โ€“ Single cone. Let ๐›พ represent the angle between the cone axis
๐‘‘ฬ‚ and the sensor vector ๐‘ ฬ‚. The sensor will consequently never enter the attitude
forbidden region if ๐›พ is never allowed to become less than or equal to ๐›ฝ. Mathematically,
this constraint can be expressed as
๐›ฝ < ๐›พ (4-1)
which, while compact, does not clearly demonstrate a dependence on the orientation
state ๐‘ž. With the benefit of foresight, we may evaluate the cosine of Eq. 4-1 (keeping in
mind that the inequality relationship between ๐›พ and ๐›ฝ will be inverted), yielding
cos ๐›ฝ โˆ’ cos ๐›พ > 0. (4-2)
56
Recall that ๐‘ ฬ‚ โˆ™ ๐‘‘ฬ‚ = cos ๐›พ, since both ๐‘ ฬ‚ and ๐‘‘ฬ‚ are unit vectors. However, the
equivalent matrix representation ๐‘ ฬ‚ ๐‘‡
๐‘‘ฬ‚ is only valid if ๐‘ ฬ‚ and ๐‘‘ฬ‚ are expressed in the same
basis. If we first rotate ๐‘‘ฬ‚ into the body frame, then we may rewrite Eq. 4-2 as
cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚ > 0,
where
๐‘… ๐‘ž = (๐œ‚2
โˆ’ ๐œ€ ๐‘‡
๐œ€)๐•€ + 2๐œ€๐œ€ ๐‘‡
โˆ’ 2๐œ‚๐œ€ร—
(4-3)
is the DCM representing the rotation represented by the quaternion ๐‘ž.
If the goal is to create a โ€œbarrierโ€ at the edge of the keep-out cone, then the
repulsive APF should take the form
๐œ‘1,๐‘Ÿ,point =
1
cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ (4-4)
which tends towards infinity as ๐›พ approaches ๐›ฝ.
Recall from our discussion in Chapter 3 that, in order to implement a constraint at
the first stage, we must first determine its gradient (first derivative) and Hessian (second
derivative) with respect to ๐‘ž. This can be done by applying chain rule to Eq. 4-4, yielding
๐œ•๐œ‘1,๐‘Ÿ,point
๐œ•๐‘ž
=
๐œ•
๐œ•๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚
(
1
cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚
)
๐œ•
๐œ•๐‘ž
(๐‘ ฬ‚ ๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚) (4-5)
where
๐œ•
๐œ•๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚
(
1
cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚
) =
1
(cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚)
2 (4-6)
and
๐œ•
๐œ•๐‘ž
(๐‘ ฬ‚ ๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚) = 2๐‘ž ๐‘‡ [
๐‘‘ฬ‚ ๐‘ ฬ‚ ๐‘‡
+ ๐‘ ฬ‚ ๐‘‘ฬ‚ ๐‘‡
โˆ’ ๐‘ ฬ‚ ๐‘‡
๐‘‘ฬ‚ ๐•€ ๐‘ ฬ‚ร—
๐‘‘ฬ‚
(๐‘ ฬ‚ร—
๐‘‘ฬ‚)
๐‘‡
๐‘ ฬ‚ ๐‘‡
๐‘‘ฬ‚
] โ‰ 2๐‘ž ๐‘‡
ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚). (4-7)
57
Verification of Eq. 4-7 is provided in proof 4 of Appendix A. As a point of interest,
ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚) is a constant, symmetrical matrix function of the geometry between the satelliteโ€™s
sensor vectors the inertial attitude vectors. Note that the vector ๐‘‘ฬ‚ appearing in Eq. 4-7 is
still parameterized in the inertial frame. Thus, the gradient is computed by substituting
Eqs. 4-6 and 4-7 into Eq. 4-5:
๐‘”1,๐‘Ÿ,point (๐‘ž) =
2ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚)๐‘ž
(cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚)
2. (4-8)
The Hessian matrix for the direct pointing constraint potential is computed by
differentiating Eq. 4-8. The process is shown in proof 5 of Appendix A shows the
derivation, yielding the result
๐ป1,๐‘Ÿ,point (๐‘ž) =
2ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚)
(cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚)
2 [๐•€ +
4๐‘ž๐‘ž ๐‘‡
ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚)
cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚
]. (4-9)
Given the framework derived in Chapter 3, the outputs of Eqs. 4-8 and 4-9 are
enough to compute the control solution. However, recall that this only applies for the
case of one sensor and one keep-out cone. Variations on the constraints presented in
Eqs. 4-1 and 4-2 are also of interest.
For example, consider the inverse case of an attitude mandatory zone. In such a
case, the constraint from Eq. 4-1 becomes reversed, thus yielding
๐›ฝ > ๐›พ. (4-10)
Note that, like Eq. 4-1, Eq. 4-10 can be equivalently stated in terms of angle cosines:
cos ๐›พ โˆ’ cos ๐›ฝ > 0.
Thus, it can be seen that the APF corresponding to this constraint โ€“ and, by extension,
its gradient and Hessian โ€“ are the negatives of Eqs. 4-4, 4-8, and 4-9 respectively.
58
Multiple sensors โ€“ Multiple cones. In general, it cannot be assume that a
satellite contains a single body-fixed sensor vector. Nor can it be assumed that the
mission will only contain one attitude range of significance. Therefore, in general we
may need to consider a system of ๐‘ sensor vectors and ๐‘€ constraint regions. For
simplicity, we will assume none of the constraint regions intersect, but if they did then it
may serve us well to model them as a single constraint region anyway.
It is convenient to store this information in matrix form, making it easily read by
linear algebra systems such as MatLabยฎ
. The matrices containing sensor and cone data
could, for example, be respectively formatted:
๐‘ ๐‘™๐‘–๐‘ ๐‘ก = [ ๐‘ ฬ‚1
๐ต
๐‘ ฬ‚2
๐ต
๐‘ ฬ‚3
๐ต
โ‹ฏ ๐‘ ฬ‚๐‘–
๐ต
โ‹ฏ ๐‘ ฬ‚ ๐‘
๐ต
] โˆˆ โ„3ร—๐‘
, (4-11)
๐‘‘๐‘™๐‘–๐‘ ๐‘ก = [
๐‘‘ฬ‚1
๐ผ
๐›ฝ1
๐‘‘ฬ‚2
๐ผ
๐›ฝ2
๐‘‘ฬ‚3
๐ผ
๐›ฝ3
โ‹ฏ
๐‘‘ฬ‚ ๐‘—
๐ผ
๐›ฝ๐‘—
โ‹ฏ
๐‘‘ฬ‚ ๐‘€
๐ผ
๐›ฝ ๐‘€
] โˆˆ โ„4ร—๐‘€
, (4-12)
where the superscripts ๐ต and ๐ผ respectively denote body-fixed and inertially-fixed
coordinate parameterizations.
It is also useful to specify a constant โ€œmappingโ€ matrix, which defines the
relationship each sensor has with the constraint regions. This would be useful in cases
where some sensors may be permitted through constraint regions that others may not,
or vice versa. For example, a sensor might be constrained to point towards Earth, yet
there would be no reason why it could not be pointed at the sun. Conversely, a star
tracker would be able to safely point towards the Earth, but it may be desirable to
specify a constraint preventing it from being pointed towards the sun.
Harkening back to the general constraint form from Eq. 3-22, the coefficients ๐‘๐‘–๐‘—
which modify the repulsive potentials โ€“ each one representing the constraint imposed
59
on the ๐‘–th
sensor by the ๐‘—th
cone โ€“ must be positive if the relationship is attitude
forbidden, negative if it is attitude mandatory, or zero if there is no attitude constraint.
Expressed in matrix form, the mapping matrix ๐ถ is defined as
๐ถ โ‰ [
๐‘11 ๐‘12
๐‘21 ๐‘22
โ‹ฏ
๐‘1๐‘€
๐‘2๐‘€
โ‹ฎ โ‹ฑ โ‹ฎ
๐‘ ๐‘1 ๐‘ ๐‘2 โ‹ฏ ๐‘3๐‘€
] ; {
๐‘๐‘–๐‘— > 0 if forbidden
๐‘๐‘–๐‘— = 0 if no constraint
๐‘๐‘–๐‘— < 0 if mandatory
. (4-13)
The total pointing constraint potential and its derivatives can be found by
summing over all indices ( ๐‘–, ๐‘—) in Eq. 4-13, then extracting ๐‘ ฬ‚๐‘– from Eq. 4-11 and ๐‘‘ฬ‚ ๐‘—, ๐›ฝ๐‘—
from Eq. 4-12:
๐œ‘1,๐‘Ÿ,point = โˆ‘
๐‘๐‘–๐‘—
cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘–
๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘—
๐‘,๐‘€
๐‘–,๐‘—=1
; (4-14)
๐‘”1,๐‘Ÿ,point (๐‘ž) = โˆ‘
2๐‘๐‘–๐‘—ฮ›(๐‘ ฬ‚ ๐‘–, ๐‘‘ฬ‚ ๐‘—)๐‘ž
(cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘–
๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘—)
2
๐‘,๐‘€
๐‘–,๐‘—=1
; (4-15)
๐ป1,๐‘Ÿ,point (๐‘ž) = โˆ‘
2๐‘๐‘–๐‘—ฮ›(๐‘ ฬ‚๐‘–, ๐‘‘ฬ‚ ๐‘—)
(cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘–
๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘—)
2 [๐•€ +
4๐‘ž๐‘ž ๐‘‡
ฮ›(๐‘ ฬ‚๐‘–, ๐‘‘ฬ‚ ๐‘—)
cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘–
๐‘‡
๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘—
]
๐‘,๐‘€
๐‘–,๐‘—=1
. (4-16)
Recall that the outputs of Eqs. 4-14 through 4-16 determine the control solution.
The Slew Rate Constraint
Sometimes, it may be desirable to limit the rate at which a satellite rotates. There
are many different reasons why mission controllers would want to do this. Chiefly, this
constraint exists to prevent saturation of on-board angular momentum exchange
devices. The constraint may also be in place to prevent mass-spring-damper type
oscillations in nonrigid components (such as solar panels, omnidirectional antennae, or
gravity gradient stabilization booms).
60
Limiting the slew rate requires the specification of a maximum allowable slew
rate, effectively creating an envelope around the angular velocity domain. It follows that
the slew rate constraint is, by definition, a second stage potential. The maximum slew
rate is necessarily a scalar quantity, and so must be related to the instantaneous
angular velocity by the dot product:
๐œ” ๐‘š๐‘Ž๐‘ฅ
2
โˆ’ ๐œ” ๐‘‡
๐œ” > 0. (4-17)
Just as with the pointing constraint, a barrier can be constructed at the constraint
boundary by inverting the right-hand side of Eq. 4-17, thus yielding the slew rate
potential
๐œ‘2,๐‘Ÿ,slew =
1
๐œ” ๐‘š๐‘Ž๐‘ฅ
2 โˆ’ ๐œ” ๐‘‡ ๐œ”
. (4-18)
Unlike the first stage potentials, we do not need to take the Hessian of Eq. 4-18.
Instead, we must take the gradient of it with respect to orientation (which yields a zero
vector, since Eq. 4-18 has no dependency on orientation), and angular velocity.
Applying chain rule to Eq. 4-4 yields
๐‘”2,๐‘Ÿ,slew =
2๐œ” ๐‘‡
๐œ” ๐‘š๐‘Ž๐‘ฅ
2 โˆ’ ๐œ” ๐‘‡ ๐œ”
.
Early Avoidance
While concise, the pointing constraint potential loses efficiency when the tracking
frame will place the sensor on the opposite side of an attitude forbidden region. In such
a situation, more control effort is expended reversing the direction of the sensor. In the
edge case where the zero potential is on the exact opposite side of an attitude forbidden
region, and there is no lateral component of angular velocity, the sensor will become
mired in an unstable saddle point.
61
In almost every case, interference from other potentials will perturb the sensor
from its saddle point. Even if there are no other potentials present, numerical
uncertainty in the initial condition will almost certainly result in a lateral component of
angular velocity. In light of this, it is tempting to disregard these saddle points. However,
even if they do not permanently halt the progress of the satellite in its current maneuver,
they will slow it down, or result in a longer path that would otherwise be achieved.
One of the earliest objectives for this research was to avoid such attitude
forbidden regions in advance by imparting lateral velocity as soon as it became
apparent that an attitude forbidden region was incoming. This was accomplished by
creating a pathway between two planes tangent to the keep-out cone, whose
intersection contained the sensor vector itself. As long as the sensor continues to travel
outside of this pathway, it will not enter the constraint region.
Defining the pathway vectors. This method is based on the principle that a unit
vector will only change by a direction that lies inside the plane normal to that unit vector.
Placing this plane such that it contains the point at the head of ๐‘ ฬ‚ will yield a conic
intersection where the plane crosses the attitude forbidden region. The constraint
pathway is bounded by the tangents of the conic intersection as illustrated in Figure 4-1.
Note that the vectors ๐‘‘ฬ‚1, ๐‘‘ฬ‚2, and ๐‘‘ฬ‚3, ๐‘ ฬ‚1, ๐‘ ฬ‚2, and ๐‘ ฬ‚3 in Figure 4-1 are defined
differently from those in Eqs. 4-11 and 4-12. In this context they represent the basis
vectors ๐’Ÿ and ๐’ฎ respectively, and are defined so as to simplify the parameterization of
the conic tangent vectors.
62
Figure 4-1. Setup for the Early Avoidance pathway.
The coneโ€™s axis of symmetry makes a logical choice for the first axis ๐‘‘ฬ‚1 in the ๐’Ÿ
coordinate basis. However, being inertially fixed, it must be represented in the body
coordinate frame. The second axis ๐‘‘ฬ‚2 is thus defined to be that orthogonal to ๐‘‘ฬ‚1 in the
direction of the sensor vector ๐‘ ฬ‚, with the third axis ๐‘‘ฬ‚3 being the cross product of the first
two. Thus, the basis vectors in the ๐’Ÿ coordinate system are defined as
๐’Ÿ โ‰
{
๐‘‘ฬ‚1 = โ„› ๐‘ž ๐‘‘ฬ‚
๐‘‘ฬ‚2 =
๐‘‘ฬ‚1
ร—
๐‘ ฬ‚ร—
๐‘‘ฬ‚1
sin ๐›พ
๐‘‘ฬ‚3 = ๐‘‘ฬ‚1
ร—
๐‘‘ฬ‚2
. (4-19)
63
As a consequence of the way in which the cone-fixed basis vectors are defined,
the first axis ๐‘ ฬ‚1 in the ๐’ฎ coordinate system is coincident with ๐‘‘ฬ‚3. Helpfully, this allows us
to define the third axis ๐‘ ฬ‚3 to be identical to the sensor vector ๐‘ ฬ‚, with the cross product
defining the second axis ๐‘ ฬ‚2. Thus, the basis vectors in the ๐’ฎ system are defined as
๐’ฎ โ‰ {
๐‘ ฬ‚1 = ๐‘‘ฬ‚3
๐‘ ฬ‚2 = ๐‘ ฬ‚3
ร—
๐‘ ฬ‚1
๐‘ ฬ‚3 = ๐‘ ฬ‚
.
(4-20)
Given the coordinate systems defined in Eqs. 4-19 and 4-20, the equation for the
conic intersection of the sensor travel plane with the attitude forbidden region is
๐‘ฅ2
= โˆ’ (
cos 2๐›พ + cos 2๐›ฝ
1 + cos 2๐›ฝ
) ๐‘ฆ2
+ 2 (
sin 2๐›พ
1 + cos 2๐›ฝ
) ๐‘ฆ + (
cos 2๐›พ โˆ’ cos 2๐›ฝ
1 + cos 2๐›ฝ
)
(4-21)
as shown in proof 6 of Appendix B. Note that ๐‘ฅ and ๐‘ฆ correspond to the distances
between ๐‘ ฬ‚3 and a point on the conic intersection as measured along the ๐‘ ฬ‚1 and ๐‘ ฬ‚2 axes
respectively. Equation 4-21 is โ€“ not surprisingly โ€“ symmetric about the ๐‘ ฬ‚2 axis.
Let the vector ๐‘ฃ โ‰ ๐‘ฅ๐‘ ฬ‚1 + ๐‘ฆ๐‘ ฬ‚2 represent the position of a point on the conic
intersection relative to ๐‘ ฬ‚3. Defining an angle ๐›ผ as the angle between ๐‘ ฬ‚2 and ๐‘ฃ, it follows
from geometry that ๐›ผ will reach its maximum value at the point when ๐‘ฃ โ†’ ๐‘ฃ ๐‘ก where ๐‘ฃ ๐‘ก is
tangent to the conic intersection. If the tangent coordinates in the sensor travel plane
are defined as ๐‘ฅ = ๐‘ฅ ๐‘ก and ๐‘ฆ = ๐‘ฆ๐‘ก, then it follows from proof 7 of Appendix B that
๐‘ฅt =
1
sin 2๐›พ
โˆš(cos 2๐›ฝ โˆ’ cos 2๐›พ)(1 โˆ’ cos 2๐›ฝ); ๐‘ฆ๐‘ก =
cos 2๐›ฝ โˆ’ cos 2๐›พ
sin 2๐›พ
. (4-22)
Recognizing that tan ๐›ผ = | ๐‘ฅ๐‘ก ๐‘ฆ๐‘กโ„ |, it follows from Eq. 4-22 that
tan ๐›ผ = โˆš
1 โˆ’ cos 2๐›ฝ
cos 2๐›ฝ โˆ’ cos 2๐›พ
. (4-23)
64
The double conic problem. An interesting yet unintended consequence of the
conic section in Eq. 4-21 is the symmetry that exists about the plane normal to the cone
axis โ€“ i.e. when plotting Eq. 4-22, one can see a discontinuity as the tangent point
jumps to the lower branch of the conic section (a cone equal in size but opposite in
direction of the keep-out cone being analyzed). Figure 4-2 illustrates this phenomenon:
Figure 4-2. An illustration of the double conic problem. Note that the origin represents
the sensor axis ๐‘ ฬ‚3, and the red dot represents the cone axis ๐‘‘ฬ‚1.
Ideally, tan ๐›ผ would approach zero as ๐›พ approaches the safety angle ๐›พ๐‘  (as
shown in Figure 4-1), which would result in a โ€œleading edgeโ€ of the potential as the
sensor crossed into the region where it is in danger of crossing into the keep-out cone.
However, Figure 4-2 demonstrates that no such tangent actually exists. Therefore, in
order to enforce the desired behavior, we project the tangent point from the lower
branch of the hyperbola onto the upper branch with a compensating logic term โ„“:
โ„“ = ๐‘š (
sin2
2๐›ฝ โˆ’ sin2
2๐›พ
sin2 2๐›ฝ + sin2 2๐›พ
)
๐‘›
(4-24a)
65
where
๐‘› = {
0 if ๐›พ โ‰ค
๐œ‹
2
1 if ๐›พ >
๐œ‹
2
; ๐‘š = {
0 if ๐›พ โ‰ฅ ๐›พ๐‘ 
1 if ๐›พ < ๐›พ๐‘ 
. (4-24b)
The conditions in Eqs. 4-24a and b are derived in proof 8 of Appendix B.
Note that the safety angle ๐›พ๐‘  depends on the value of ๐›ฝ. When ๐›ฝ โ‰ค
๐œ‹
4
, then the
tangent point projection represented by Eq. 4-24a is valid for any ๐›พ < ๐›พ๐‘  =
๐œ‹
2
+ ๐›ฝ. Note,
however, that when ๐›ฝ โ‰ฅ
๐œ‹
4
, then the projection is only valid when the sensor is between
both branches of the conic intersection (which will be hyperbolic over this part of the
domain. We are able to express both possibilities compactly by taking the minimum
value to be the true safety angle:
๐›พ๐‘  = min (
๐œ‹
2
+ ๐›ฝ, ๐œ‹ โˆ’ ๐›ฝ)
The compensating term in Eqs. 4-24a and b serves to divide the domain of
gamma into three sectors, thus constructing a piece-wise expression for tan ๐›ผ that
demonstrates the behavior we are looking for. The three sectors are summarized in
Table 4-1, and the range of values over which โ„“ varies is graphed in Figure 4-3.
The compensated tangent value can be obtained by multiplying the
uncompensated value from Eq. 4-23 to the logic term of Eq. 4-24a, thus yielding
tan ๐›ผ = ๐‘š (
sin2
2๐›ฝ โˆ’ sin2
2๐›พ
sin2 2๐›ฝ + sin2 2๐›พ
)
๐‘›
โˆš
1 โˆ’ cos 2๐›ฝ
cos 2๐›ฝ โˆ’ cos 2๐›พ
(4-25)
Plotting the modified pathway vectors using Eq. 4-25 demonstrates that the new logic
term does indeed solve the double conic problem, as shown in Figure 4-4.
66
Table 4-1. Values of the logic term โ„“ across the three sectors of the gamma domain.
๐›พ (Range as Inequality) ๐‘š ๐‘› โ„“
min (
๐œ‹
2
+ ๐›ฝ, ๐œ‹ โˆ’ ๐›ฝ) โ‰ค ๐›พ โ‰ค ๐œ‹ ๐‘š = 0 ๐‘› = 1 โ„“ = 0
๐œ‹
2
< ๐›พ < min (
๐œ‹
2
+ ๐›ฝ, ๐œ‹ โˆ’ ๐›ฝ) ๐‘š = 1 ๐‘› = 1 โ„“ =
sin2
2๐›ฝ โˆ’ sin2
2๐›พ
sin2 2๐›ฝ + sin2 2๐›พ
0 โ‰ค ๐›พ โ‰ค
๐œ‹
2
๐‘š = 1 ๐‘› = 0 โ„“ = 1
Figure 4-3. Example of variation in the logic term โ„“ over the domain
๐œ‹
2
< ๐›พ < ๐›พ๐‘ .
Figure 4-4. Results of applying the logic term โ„“ to the double conic problem.
1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2 2.05
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Logic Term Values Between ๏ฐ/2 and ๏ฐ/2+๏ข (๏ข = ๏ฐ/6)
๏ง [rad]
logictermvalue[-]
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T
Newman_T

Mรกs contenido relacionado

La actualidad mรกs candente

MVA Dissertation 100510
MVA Dissertation 100510MVA Dissertation 100510
MVA Dissertation 100510Jon Stone
ย 
Appendix
AppendixAppendix
AppendixXabi Garay
ย 
CFD-Assignment_Ramji_Amit_10241445
CFD-Assignment_Ramji_Amit_10241445CFD-Assignment_Ramji_Amit_10241445
CFD-Assignment_Ramji_Amit_10241445Amit Ramji โœˆ
ย 
Cd001169 Standard
Cd001169 StandardCd001169 Standard
Cd001169 Standardireportergr
ย 
Intelligent Routine Generator
Intelligent Routine Generator Intelligent Routine Generator
Intelligent Routine Generator Mohammad Apu
ย 
MEng Report Merged - FINAL
MEng Report Merged - FINALMEng Report Merged - FINAL
MEng Report Merged - FINALAmit Ramji โœˆ
ย 
La Roche Catalog 2015-16
La Roche  Catalog 2015-16La Roche  Catalog 2015-16
La Roche Catalog 2015-16Abhishek Bajaj
ย 
IMechE Report Final_Fixed
IMechE Report Final_FixedIMechE Report Final_Fixed
IMechE Report Final_FixedAmit Ramji โœˆ
ย 

La actualidad mรกs candente (9)

MVA Dissertation 100510
MVA Dissertation 100510MVA Dissertation 100510
MVA Dissertation 100510
ย 
Api 2015
Api 2015Api 2015
Api 2015
ย 
Appendix
AppendixAppendix
Appendix
ย 
CFD-Assignment_Ramji_Amit_10241445
CFD-Assignment_Ramji_Amit_10241445CFD-Assignment_Ramji_Amit_10241445
CFD-Assignment_Ramji_Amit_10241445
ย 
Cd001169 Standard
Cd001169 StandardCd001169 Standard
Cd001169 Standard
ย 
Intelligent Routine Generator
Intelligent Routine Generator Intelligent Routine Generator
Intelligent Routine Generator
ย 
MEng Report Merged - FINAL
MEng Report Merged - FINALMEng Report Merged - FINAL
MEng Report Merged - FINAL
ย 
La Roche Catalog 2015-16
La Roche  Catalog 2015-16La Roche  Catalog 2015-16
La Roche Catalog 2015-16
ย 
IMechE Report Final_Fixed
IMechE Report Final_FixedIMechE Report Final_Fixed
IMechE Report Final_Fixed
ย 

Destacado

UFTranscripts2
UFTranscripts2UFTranscripts2
UFTranscripts2Tristan Newman
ย 
Perturbaรงรฃo Esiritual
Perturbaรงรฃo EsiritualPerturbaรงรฃo Esiritual
Perturbaรงรฃo EsiritualAna Marques
ย 
Bryan W Pelky Resume
Bryan W Pelky ResumeBryan W Pelky Resume
Bryan W Pelky ResumeBryan Pelky
ย 
Intervensi perioperative
Intervensi perioperativeIntervensi perioperative
Intervensi perioperativeYulinar Syam
ย 
Parousiasi trikala
Parousiasi trikalaParousiasi trikala
Parousiasi trikalaevichira
ย 
IT security - a never ending saga - M Falcinelli
IT security - a never ending saga - M FalcinelliIT security - a never ending saga - M Falcinelli
IT security - a never ending saga - M FalcinelliMassimiliano Falcinelli
ย 
Kelompok 4
Kelompok 4Kelompok 4
Kelompok 4Yulinar Syam
ย 

Destacado (11)

UFTranscripts2
UFTranscripts2UFTranscripts2
UFTranscripts2
ย 
Perturbaรงรฃo Esiritual
Perturbaรงรฃo EsiritualPerturbaรงรฃo Esiritual
Perturbaรงรฃo Esiritual
ย 
Lines and angles
Lines and anglesLines and angles
Lines and angles
ย 
Perimetar and area
Perimetar and areaPerimetar and area
Perimetar and area
ย 
Bryan W Pelky Resume
Bryan W Pelky ResumeBryan W Pelky Resume
Bryan W Pelky Resume
ย 
Shale gas
Shale gasShale gas
Shale gas
ย 
Intervensi perioperative
Intervensi perioperativeIntervensi perioperative
Intervensi perioperative
ย 
Parousiasi trikala
Parousiasi trikalaParousiasi trikala
Parousiasi trikala
ย 
IT security - a never ending saga - M Falcinelli
IT security - a never ending saga - M FalcinelliIT security - a never ending saga - M Falcinelli
IT security - a never ending saga - M Falcinelli
ย 
chile-2015 (2)
chile-2015 (2)chile-2015 (2)
chile-2015 (2)
ย 
Kelompok 4
Kelompok 4Kelompok 4
Kelompok 4
ย 

Similar a Newman_T

How training affect to the employee's performance
How training affect to the employee's performanceHow training affect to the employee's performance
How training affect to the employee's performanceDu Trang
ย 
Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...
Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...
Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...Mark Tomaszewski
ย 
IanChang-Yen_dissertation_final
IanChang-Yen_dissertation_finalIanChang-Yen_dissertation_final
IanChang-Yen_dissertation_finalIan Chang-Yen, PhD
ย 
Stojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_Only
Stojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_OnlyStojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_Only
Stojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_OnlyDaniel Stojanovski
ย 
A Systematic Review Of Quasi-Experiments In Software Engineering
A Systematic Review Of Quasi-Experiments In Software EngineeringA Systematic Review Of Quasi-Experiments In Software Engineering
A Systematic Review Of Quasi-Experiments In Software EngineeringDustin Pytko
ย 
RY_PhD_Thesis_2012
RY_PhD_Thesis_2012RY_PhD_Thesis_2012
RY_PhD_Thesis_2012Rajeev Yadav
ย 
35819303-MIT
35819303-MIT35819303-MIT
35819303-MITRoland Ayala
ย 
Published_Thesis
Published_ThesisPublished_Thesis
Published_ThesisNikhil Londhe
ย 
NP problems
NP problemsNP problems
NP problemsLien Tran
ย 
Complete Thesis-Final
Complete Thesis-FinalComplete Thesis-Final
Complete Thesis-FinalHao SHEN
ย 
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...Jason Cheung
ย 
NCLEX-PN Study Guide
NCLEX-PN Study GuideNCLEX-PN Study Guide
NCLEX-PN Study Guidejconcepcion1
ย 
Get tr doc
Get tr docGet tr doc
Get tr docAero Rock
ย 
James Pitts_Thesis_2014
James Pitts_Thesis_2014James Pitts_Thesis_2014
James Pitts_Thesis_2014James Pitts
ย 
Adaptive Networking Protocol for Rapid Mobility
Adaptive Networking Protocol for Rapid MobilityAdaptive Networking Protocol for Rapid Mobility
Adaptive Networking Protocol for Rapid MobilityDr. Edwin Hernandez
ย 
Production of vam by oxy acetylation of ethylene-min
Production of vam by oxy acetylation of ethylene-minProduction of vam by oxy acetylation of ethylene-min
Production of vam by oxy acetylation of ethylene-minkashan Aslam
ย 

Similar a Newman_T (20)

Leininger_umd_0117N_16271
Leininger_umd_0117N_16271Leininger_umd_0117N_16271
Leininger_umd_0117N_16271
ย 
mack_y
mack_ymack_y
mack_y
ย 
How training affect to the employee's performance
How training affect to the employee's performanceHow training affect to the employee's performance
How training affect to the employee's performance
ย 
Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...
Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...
Tomaszewski, Mark - Thesis: Application of Consumer-Off-The-Shelf (COTS) Devi...
ย 
IanChang-Yen_dissertation_final
IanChang-Yen_dissertation_finalIanChang-Yen_dissertation_final
IanChang-Yen_dissertation_final
ย 
Stojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_Only
Stojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_OnlyStojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_Only
Stojanovski-Daniel_MECH4841B_2014_Aero-Cooling-Business_Appendix_Only
ย 
A Systematic Review Of Quasi-Experiments In Software Engineering
A Systematic Review Of Quasi-Experiments In Software EngineeringA Systematic Review Of Quasi-Experiments In Software Engineering
A Systematic Review Of Quasi-Experiments In Software Engineering
ย 
RY_PhD_Thesis_2012
RY_PhD_Thesis_2012RY_PhD_Thesis_2012
RY_PhD_Thesis_2012
ย 
35819303-MIT
35819303-MIT35819303-MIT
35819303-MIT
ย 
Published_Thesis
Published_ThesisPublished_Thesis
Published_Thesis
ย 
NP problems
NP problemsNP problems
NP problems
ย 
Complete Thesis-Final
Complete Thesis-FinalComplete Thesis-Final
Complete Thesis-Final
ย 
Thesispdf
ThesispdfThesispdf
Thesispdf
ย 
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
Trinity Impulse - Event Aggregation to Increase Stundents Awareness of Events...
ย 
NCLEX-PN Study Guide
NCLEX-PN Study GuideNCLEX-PN Study Guide
NCLEX-PN Study Guide
ย 
Get tr doc
Get tr docGet tr doc
Get tr doc
ย 
James Pitts_Thesis_2014
James Pitts_Thesis_2014James Pitts_Thesis_2014
James Pitts_Thesis_2014
ย 
Adaptive Networking Protocol for Rapid Mobility
Adaptive Networking Protocol for Rapid MobilityAdaptive Networking Protocol for Rapid Mobility
Adaptive Networking Protocol for Rapid Mobility
ย 
Production of vam by oxy acetylation of ethylene-min
Production of vam by oxy acetylation of ethylene-minProduction of vam by oxy acetylation of ethylene-min
Production of vam by oxy acetylation of ethylene-min
ย 
TheseHautphenne
TheseHautphenneTheseHautphenne
TheseHautphenne
ย 

Newman_T

  • 1. DEVELOPING A GENERAL FRAMEWORK FOR A TWO STAGED ARTIFICIAL POTENTIAL CONTROLLER By TRISTAN J. NEWMAN A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2015
  • 3. To my colleagues, friends, and family.
  • 4. 4 ACKNOWLEDGMENTS I would like to thank my research advisor, Dr. Norman Fitz-Coy, who believed in me from the beginning; Dr. Josue Muรฑoz, who offered me his fantastic mentorship during a research fellowship in New Mexico; and Roxanne Rezaei, my lovely wife who has graced me with her unwavering support throughout my research and my studies. I would also like to thank the department of Mechanical and Aerospace Engineering for affording me the opportunity to study and do research, and all of the faculty and staff within it who worked so hard to ensure that I was equipped with all of the tools necessary to see it through.
  • 5. 5 TABLE OF CONTENTS Page ACKNOWLEDGMENTS.................................................................................................. 4 LIST OF TABLES............................................................................................................ 7 LIST OF FIGURES.......................................................................................................... 8 LIST OF ABBREVIATIONS............................................................................................. 9 ABSTRACT ................................................................................................................... 10 CHAPTER 1 INTRODUCTION................................................................................................ 12 Foreword ............................................................................................................ 12 A Note on Notation ............................................................................................. 13 Background ........................................................................................................ 14 Optimal Controls ...................................................................................... 14 Workspace-Discretized Pathfinding ......................................................... 20 Method of Lyapunov ................................................................................ 22 2 MATHEMATICAL OVERVIEW ........................................................................... 26 Vector Operations in Linear Algebra................................................................... 26 Body Rotations and Quaternion Math................................................................. 28 Derivatives of (and With Respect to) Multi-Dimensional Quantities.................... 32 3 METHODOLOGY ............................................................................................... 35 Formal Definition of an APF................................................................................ 35 Defining the Error States .................................................................................... 37 The Unconstrained Case.................................................................................... 39 General Constraints............................................................................................ 43 First Stage Repulsive Potential................................................................ 44 Second Stage Repulsive Potential........................................................... 49 4 IMPLEMENTATION............................................................................................ 54 Notable Constraints............................................................................................ 54 The Pointing Constraint ........................................................................... 54 The Slew Rate Constraint........................................................................ 59 Early Avoidance....................................................................................... 60 Developing a MatLabยฎ Simulation ...................................................................... 70 Dynamics................................................................................................. 70
  • 6. 6 Integration................................................................................................ 71 Processing............................................................................................... 73 5 CONCLUSION.................................................................................................... 75 A Quasi-Real World Example............................................................................. 75 Unconstrained Simulation Results........................................................... 79 Partially Constrained Simulation Results ................................................. 82 Fully Constrained Simulation Results ...................................................... 85 A Note on Second Stage Potentials......................................................... 88 Topics for Future Research ................................................................................ 89 Considerations for Physical Actuation Devices........................................ 89 The State Vector Escort Problem ............................................................ 92 Mitigation of Local Extrema...................................................................... 93 Afterword ............................................................................................................ 99 APPENDIX A USEFUL MATRIX DERIVATIVES .................................................................... 100 Proof 1.............................................................................................................. 100 Proof 2.............................................................................................................. 101 Proof 3.............................................................................................................. 102 Proof 4.............................................................................................................. 103 Proof 5.............................................................................................................. 105 Proof 6.............................................................................................................. 106 Proof 7.............................................................................................................. 107 Proof 8.............................................................................................................. 109 Proof 9.............................................................................................................. 111 B MISCELLANEOUS PROOFS AND LEMMAS .................................................. 112 Proof 1.............................................................................................................. 112 Proof 2.............................................................................................................. 113 Proof 3.............................................................................................................. 114 Proof 4.............................................................................................................. 116 Proof 5.............................................................................................................. 117 Proof 6.............................................................................................................. 119 Proof 7.............................................................................................................. 121 Proof 8.............................................................................................................. 123 C MATLABยฎ SIMULATION CODE ....................................................................... 125 LIST OF REFERENCES ............................................................................................. 133 BIOGRAPHICAL SKETCH.......................................................................................... 135
  • 7. 7 LIST OF TABLES Table Page 2-1 Summary of derivatives discussed in Chapter 2................................................. 34 4-1 Logic term values across three regions in the gamma domain........................... 66
  • 8. 8 LIST OF FIGURES Figure Page 1-1 Illustration of โ€œattitude forbiddenโ€ and โ€œattitude mandatoryโ€ zones...................... 15 1-2 Example of A* pathfinding with workspace discretization ................................... 22 3-1 Abstracted potential function with six sample points and two minima................. 35 3-2 Relative orientations of inertial, body, and tracking frames................................. 38 3-3 Dependency chart for the generalized control solution....................................... 53 4-1 Setup for the early avoidance pathway............................................................... 62 4-2 Illustration of the double conic problem .............................................................. 64 4-3 Variation in the logic term over the middle gamma domain ................................ 66 4-4 Illustration of the solution to the double conic problem....................................... 66 4-5 Sample profiles of the early avoidance potential ................................................ 67 5-1 AbstractoSat illustration...................................................................................... 75 5-2 Origin and terminus points for AbstractoSat sensors.......................................... 78 5-3 Results of the unconstrained simulation ............................................................. 80 5-4 Paths traced by sensor vectors in the unconstrained simulation ........................ 81 5-5 Results of the first pointing constraint simulation................................................ 83 5-6 Paths traced by sensor vectors in the first pointing constraint simulation........... 84 5-7 Results of the second pointing constraint simulation.......................................... 86 5-8 Paths traced by sensor vectors in the second pointing constraint simulation ..... 87 5-9 Demonstration of simulation hang-up induced by nearby local extrema............. 95
  • 9. 9 LIST OF ABBREVIATIONS Angular Momentum Exchange Device (AMED) An internal device on board a satellite which redistributes angular momentum, resulting in imparted torque. Artificial Potential Function (APF) A scalar function of the spacecraftโ€™s orientation and/or angular velocity which determines the values of the controller output. Control Moment Gyroscope (CMG) A type of AMED which redistributes angular momentum by rotating at a fixed rate along a variable direction. Direction Cosine Matrix (DCM) A 3x3 matrix containing parameters which fully specify the rotation of one coordinate system with respect to another. Nth Time Derivative (TDN) A shorthand way of describing the operation ๐‘‘ ๐‘ ๐‘‘๐‘ก ๐‘โ„ (e.g. TD1 means โ€œfirst time derivativeโ€). Ordinary Differential Equation (ODE) An equation containing a function of one independent variable and its derivatives. Potential Rate Transform (PRT) A 3x1 vector which converts relative angular velocity into a rate of change for first-stage APFs. Reaction Wheel Assembly (RWA) A type of AMED which redistributes angular momentum by rotating at a variable rate along a fixed direction. Runge-Kutta (RK) Method A method of numerical integration which solves an ODE where the independent variable is separable from its derivative.
  • 10. 10 Abstract of Thesis Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Science DEVELOPING A GENERAL FRAMEWORK FOR A TWO STAGED ARTIFICIAL POTENTIAL CONTROLLER By Tristan J. Newman August 2015 Chair: Norman Fitz-Coy Major: Aerospace Engineering Although there are many control options available to satellite manufacturers, artificial potential functions (APF) provide an analytical and computationally inexpensive way for a satellite to perform multiple tasks simultaneously. By expressing mission constraints as a series of APFs and combining the results, a control solution can always be evaluated. The goal of my research was to develop a general framework which evaluates the control solution from a generalized combination of arbitrary constraints. Developing a general framework is attractive because of its flexibility in adapting a control solution to a landscape where the constraints may be subject to change based on the needs of the mission. Separating the control system into two stages โ€“ one for attitude/orientation, and one for angular velocity โ€“ was necessary to decouple those states. The first stage determines the angular velocity required by the spacecraft, and the second computes the torque necessary to reach the desired state.
  • 11. 11 The newfound flexibility provided by this framework makes it possible to add constraints to a control solution with unprecedented ease and efficiency. The primary example focused on in this document is the โ€œpointing constraint problemโ€ โ€“ a classic problem in spacecraft attitude control. The research done here suggests that a wide range of uses may exist for APF controls and including slew-rate constraints and early avoidance of pointing constraint boundaries. Future research will be necessary to solve some issues with this approach โ€“ particularly in the implementation of second-stage potentials. It is believed that solving these problems will greatly increase the effectiveness of nonlinear control systems by sparing time and control effort. Overcoming these barriers may very well lead to APF controls becoming a valuable asset for satellites with limited computational resources.
  • 12. 12 CHAPTER 1 INTRODUCTION Foreword On-orbit attitude change maneuvers can be regarded as the astrodynamical equivalent of looking over oneโ€™s shoulder. There are many ways to control such a maneuver, and some are more efficient than others at the expense of higher computational overhead. However, for such maneuvers there is a need to balance efficiency with speed. To carry the human analogy one step farther, consider an individual observing a plane as it flies through the daytime sky. If the plane were to fly in front of the sun, we assume that it would cause the onlooker some discomfort if they were to continue tracking it. The โ€œmaneuverโ€ performed here can be regarded as a tracking slew from one orientation to another. However, this maneuver is subject to a โ€œkeep-out constraintโ€ โ€“ that is, there is a โ€œsensorโ€ (in this case, the onlookerโ€™s eyes), and a direction along which that sensor should not be directed. A buffer about this vector defines a conic region known as the โ€œkeep-out cone.โ€ The keep-out constraint is designed to prevent the sensor from being directed along any vector within the keep-out cone. To return to the human analogy, although the experiment would depend on some unquantifiable parameters such as the pain-tolerance of the participant, or their willingness to carry out the experiment, a surface-level reconstruction of this scenario might show that one would instinctively avoid looking directly at the sun as the plane crosses over its disk.
  • 13. 13 The operative distinction here is โ€œinstinctively,โ€ which would imply that executing the maneuver requires little-to-no effort on the part of the onlooker. Although it would not necessarily follow an optimal path, the maneuver would, ideally, have little impact on the performance of the onlookerโ€™s mission (for example, perhaps they were commuting to work). This example therefore illustrates the attractiveness of computationally inexpensive maneuvers in the context of satellite control systems. If a satellite was to be designed which could carry out a tracking maneuver subject to the keep-out constraint, there would be several options for the control system. In particular, three methods appeared predominantly in my research: (i) the time (or energy) optimized control solution [1]; (ii) the workspace-discretized pathfinding solution [2]; and (iii) the nonlinear control solution based on the method of Lyapunov [3], [4]. This document will primarily focus on the method of Lyapunov, and the concept of artificial potential functions (APF) which stems from it. It will be shown that APF controls provide an analytical - and therefore computationally inexpensive - way of navigating the โ€œfieldโ€ of constraint boundaries. However, a brief study of other pre- existing methods is necessary in order to fully appreciate the comparative efficiency of APF controls. A Note on Notation Because of the breadth of subjects covered in this document, a single notation will be used to avoid confusion. Equations brought in from other sources will thus have their notation modified to fit this standard: All quantities will be hereafter be identified as โ€œscalarโ€ โ€“ with no distinguishing marks (e.g. ๐‘  โˆˆ โ„) โ€“ โ€œvectorโ€ โ€“ marked with a single underline (e.g. ๐‘ฃ โˆˆ โ„ ๐‘› ) โ€“ or โ€œmatrixโ€ โ€“ marked with two underlines (e.g. ๐‘€ โˆˆ โ„ ๐‘›ร—๐‘š ).
  • 14. 14 Because there will be such a heavy focus on linear algebra throughout this document, the word โ€œvectorโ€ may be used to refer to any matrix where either of the dimensions are 1 (if both dimensions are 1, the quantity may be referred to as a scalar instead), in which case the term โ€œrow vectorโ€ or โ€œcolumn vectorโ€ will be used in the case where the number of rows or columns of said matrix are 1, respectively. Any quantity underlined once in any of the equations appearing hereafter is implicitly a column vector. If a row vector is to be used, the vector will be transposed as such: ๐‘ฃ is a column vector; ๐‘ฃ ๐‘‡ is a row vector. Furthermore, a โ€œhatโ€ over a vector with any number of dimensions (e.g. ๐‘ฃฬ‚) will serve to indicate the vector is of unit length (i.e. the scalar components of the vector are unitless and the magnitude is equal to one). To avoid excessive notation, all physical vectors (e.g. directions in space, angular velocities, torques, etc.) are all implicitly parameterized in the body-fixed coordinate frame of the satellite unless otherwise noted. If it is necessary, the frame in which the vector is parameterized will be noted with an upper-left superscript (e.g. ๐‘ฃ๐‘ ). Finally, the first time derivative (TD1) of any quantity will be represented with a single dot (e.g. ๐‘‘๐‘  ๐‘‘๐‘กโ„ = ๐‘ ฬ‡), the second time derivative (TD2) will be represented with two dots (e.g. ๐‘‘2 ๐‘ฃ ๐‘‘๐‘ก2โ„ = ๐‘ฃฬˆ), and so on. Background Optimal Controls Summary. The optimal control solution is perhaps the most difficult one to derive and implement. This difficulty arises because it must not only solve the problem, but do so while minimizing a parameter of the satellite designerโ€™s choice.
  • 15. 15 Unsik Lee and Mehran Mesbahi derived such a solution; minimizing either maneuver time, or energy expenditure requirements for the maneuver using Gaussโ€™s pseudospectral method [1]. Citing the need for โ€œโ€ฆavoiding undesirable orientations with respect to celestial objectsโ€ฆโ€ as โ€œโ€ฆessential for science missions [1],โ€ the problem described is exactly the keep-out problem analogized in the โ€œwatching planesโ€ example. As a point of interest, [1] was mentioned to be a follow-up on research done by Lee and Mesbahi regarding the use of Lyapunov potential functions to perform similar maneuvers [4]. As in [4], Lee and Mesbahi parameterize the rotation of the spacecraft with unit quaternions, where any quaternion defines an attitude that the spacecraft may occupy. Although there are an infinite number of attitudes that the spacecraft can occupy, there exists a finite number of discrete zones, corresponding โ€œattitude forbiddenโ€ (the keep- out cones described in Chapter 1), and โ€œattitude mandatoryโ€ (a conic region similar to a keep-out cone, but whose role is reversed such that a body-fixed direction is meant to stay within it rather than outside of it) [1]. An example for each type of zone is illustrated in Figure 1-1 (the illustrations themselves taken from [1]). A B Figure 1-1. A) Illustration of an โ€œattitude forbiddenโ€ zone [1]. B) Illustration of an โ€œattitude mandatoryโ€ zone [1].
  • 16. 16 The cost function to be minimized is ๐ฝ = โˆซ (๐œŒ + (1 โˆ’ ๐œŒ)| ๐‘ข( ๐‘ก)|) ๐‘‘๐‘ก ๐‘ก ๐‘“ ๐‘ก0 (1-1) where ๐‘ข( ๐‘ก) is a 3-element vector containing the control torques for each reaction wheel [1], and ๐œŒ is โ€œa weighting factor on the time, where ๐œŒ = 0 and ๐œŒ = 1 yield the energy optimal and time optimal performance cost, respectively [1].โ€ Equation 1-1 is subject to the following constraints: ๐‘žฬ‡( ๐‘ก) = 1 2 ๐‘ž( ๐‘ก) โŠ— ๐œ”ฬƒ( ๐‘ก), (1-2) ๐ฝ๐œ”ฬ‡ ( ๐‘ก) = (๐ฝ๐œ” + ๐ฝ๐‘Ÿ ๐œ” ๐‘Ÿ) ร— ๐œ” โˆ’ ๐ฝ๐‘Ÿ ๐‘ข, (1-3) ๐œ”ฬ‡ ๐‘Ÿ = ๐‘ข (1-4) where โ€œ๐‘ž( ๐‘ก) is the unit quaternion representing the attitude of the rigid body at time ๐‘กโ€, โ€œ๐œ”( ๐‘ก) โˆˆ โ„3 denotes the angular velocity of the spacecraft in the body frameโ€, โ€œ๐œ”ฬƒ( ๐‘ก) = [๐œ” ๐‘‡ 0]4ร—1 ๐‘‡ โ€, โ€œ ๐ฝ = diag( ๐ฝ1, ๐ฝ2, ๐ฝ3) denotes the [centroidal] inertia matrix of the spacecraft in the body frameโ€, and โ€œ๐ฝ๐‘Ÿ = diag( ๐ฝ๐‘Ÿ1, ๐ฝ๐‘Ÿ2, ๐ฝ๐‘Ÿ3) denotes the inertia matrix of the spacecraftโ€™s reaction wheels in the body frame [1].โ€ Lee and Mesbahi require the spacecraft to follow a โ€œrest to restโ€ profile โ€“ i.e. the maneuver begins (at time ๐‘ก = ๐‘ก0) and ends (at time ๐‘ก = ๐‘ก๐‘“) with zero angular velocity. The spacecraftโ€™s reaction wheels are likewise assumed to be initially at rest. Thus, the maneuver observes the following boundary conditions: ๐‘ž( ๐‘ก0) = ๐‘ž๐‘ก0 ; ๐‘ž(๐‘ก๐‘“) = ๐‘ž๐‘ก ๐‘“ ; ๐œ”( ๐‘ก0) = 0; ๐œ”(๐‘ก๐‘“) = 0; ๐œ”๐‘Ÿ( ๐‘ก0) = 0. (1-5)
  • 17. 17 In addition to boundary conditions, there are three constraints on the control and angular velocity of the spacecraft [1] which exist to prevent saturation of the reaction wheels or harmonic oscillation of nonrigid components: |๐‘ข๐‘–| โ‰ค ฮฒu; (1-6) |๐œ”๐‘–| โ‰ค ๐›ฝ ๐œ”; (1-7) |๐œ”๐‘Ÿ ๐‘– | โ‰ค ๐›ฝ ๐œ” ๐‘Ÿ ; (1-8) for ๐‘– = 1, 2, 3 [1]. Finally, there are constraints corresponding to each attitude forbidden zone, and the attitude mandatory zone [1]. These are represented by a known matrix ๐‘€ that is a function of spatial geometry. Each ๐‘€ satisfies the inequality constraint ๐‘ž ๐‘‡ ๐‘€ ๐‘“ ๐‘– ๐‘ž < 0 (1-9) for the ๐‘–th forbidden zone (where ๐‘– = 1, โ€ฆ , ๐‘› [1]), and ๐‘ž ๐‘‡ ๐‘€ ๐‘š ๐‘ž > 0 (1-10) for the lone attitude mandatory zone [1]. The solution to the optimal control problem defined by Eqs. 1-2 through 1-10 was determined by โ€œa Gauss pseudospectral method (direct optimal control method) using the open source optimal control software GPOPSยฎ in conjunction with the nonlinear programming problem solver SNOPTยฎ and the automatic differentiator INTLABยฎ [1].โ€ Gauss pseudospectral method is described as: โ€œa class of direct collocation methods where the optimal control problem is transcribed into a nonlinear programming problem (NLP) by approximating the state and control states using global orthogonal polynomials and collocating the differential dynamic equations on Legendre-Gauss
  • 18. 18 collocation points [1].โ€ Reference [5] expounds more upon the details of pseudospectral methods, including Legendre-Gauss collocation. Because collocation methods such as this are only valid on the range [โˆ’1, 1], the generalized time interval ๐‘ก = [๐‘ก0, ๐‘ก๐‘“] is transformed using ๐œ = 2๐‘ก โˆ’ ๐‘ก๐‘“ โˆ’ ๐‘ก0 ๐‘ก๐‘“ โˆ’ ๐‘ก0 . (1-11) The derivation completes as follows: The states [sic] ๐‘ž( ๐œ) is approximated by the polynomial ๐‘žฬƒ( ๐œ) using a basis of ๐‘ + 1 Lagrange interpolating polynomials on the time interval of [โˆ’1, 1] as ๐‘ž( ๐œ) โ‰ˆ ๐‘žฬƒ( ๐œ) = โˆ‘ ๐‘ž( ๐œ๐‘–) ๐ฟ๐‘–( ๐œ๐‘–) ๐‘ ๐‘–=0 where ๐ฟ๐‘–( ๐œ) is the ๐‘–th Legendre polynomial defined as ๐ฟ๐‘–( ๐œ) = โˆ ๐œ โˆ’ ๐œ๐‘— ๐œ๐‘– โˆ’ ๐œ๐‘— ๐‘ ๐‘—=0,๐‘—โ‰ ๐‘– , ( ๐‘– = 0, โ€ฆ , ๐‘). The derivative of the state approximation is similarly obtained as ๐‘žฬ‡( ๐œ) โ‰ˆ ๐‘žฬƒฬ‡( ๐œ) = โˆ‘ ๐‘žฬƒ( ๐œ๐‘–) ๐ฟฬ‡ ๐‘–( ๐œ๐‘–) ๐‘ ๐‘–=0 = โˆ‘ ๐ท ๐‘˜,๐‘– ๐‘žฬƒ( ๐œ๐‘–) ๐‘ ๐‘–=0 where ๐ท ๐‘˜,๐‘– are element [sic] of non-square matrix ๐ท โˆˆ โ„ ๐‘ร—(๐‘+1) called Gauss pseudospectral differentiation matrix โ€ฆ The performance cost in terms of ๐œ is approximated using a Gauss quadrature as ๐ฝ = ๐‘ก๐‘“ โˆ’ ๐‘ก0 2 โˆ‘ ๐‘ค ๐‘˜(๐œŒ + (1 โˆ’ ๐œŒ)| ๐‘ข( ๐œ ๐‘˜)|) ๐‘ ๐‘˜=1 where ๐‘ค ๐‘˜ are the Gauss weights. The above performance index together with approximated constraints โ€ฆ lead to formulation of a nonlinear programming with the initial and final states ๐‘ž( ๐‘ก0) = ๐‘žฬƒ( ๐œ0) and ๐‘ž(๐‘ก๐‘“) = ๐‘žฬƒ(๐œ ๐‘“), respectively, which can be solved using SNOPT nonlinear solver [1].
  • 19. 19 Advantages and disadvantages. The greatest benefit of the optimal control solution is that it is, in fact, optimal. This allows for satellites operating with such a control system to complete large-slew maneuvers while holding to a variety of constraints in as little time as possible, or expending as little energy as possible. However, this benefit comes at a price. In computer science terms, the product definition for the ๐‘–th Legendre polynomial implies that evaluating ๐ฟ๐‘–( ๐œ) for ๐‘ collocation points has a time complexity of ๐‘‚( ๐‘), as it is the product of ๐‘ terms (each with a time complexity of ๐‘‚(1)). Furthermore, evaluating the state requires the summation of ๐‘ + 1 Legendre polynomials (modified by ๐‘ž( ๐œ)), implying that the evaluation of ๐‘žฬƒ( ๐œ) has a time complexity of ๐‘‚( ๐‘2). In addition, the first time derivative of ๐ฟ๐‘–( ๐œ) requires the application of the product rule ๐‘ times. Therefore, evaluating ๐ฟฬ‡ ๐‘–( ๐œ) (and, by extension, ๐ท ๐‘˜,๐‘– [5]) also has a time complexity of ๐‘‚( ๐‘2). However, since the evaluation of ๐‘žฬ‡( ๐œ) requires the summation of ๐‘ + 1 such terms, the overall time complexity for this section of the algorithm is ๐‘‚( ๐‘3). This is only the time complexity involved in determining the quaternion rate at the next collocation point. For all ๐‘ collocation points, the time complexity graduates to ๐‘‚( ๐‘4)! This complexity does not take into account operations done internally by the SNOPT nonlinear solver, so ๐‘‚( ๐‘4) can be regarded as a minimum time complexity. For comparison, a fully analytical method (such as the method of Lyapunov, as will eventually be shown) has a time complexity of ๐‘‚(1). In other words, determining the optimal control solution requires much dedication of onboard computational resources.
  • 20. 20 This may not be an issue for maneuvers wherein a small number of collocation points can be used, as it can be inferred from Eq. 1-11 that short-duration maneuvers do not progress as rapidly through the ๐œ domain, and therefore fewer collocation points may be used. Furthermore, larger satellites (such as GPS or military satellites) that prioritize the speed in which a precise maneuver can be executed over the amount of memory that maneuver takes may make better use of the optimal control solution versus other, nonoptimal methods. Workspace-Discretized Pathfinding Summary. Another approach explored by Henri C. Kjellberg and E. Glenn Lightsey discretizes the spherical space surrounding the spacecraft into hexagonal segments to find โ€œan admissible path between the attitude keep-out zone [using the] A* pathfinding algorithm โ€ฆ chosen because of its ease of implementation [2].โ€ Since the workspace is discretized, each โ€œpixelโ€ (a single element of the unit sphere) has its neighboring pixels identified pre-implementation and stored on-board. A โ€œpath-cost function ๐‘”(๐‘( ๐‘˜))โ€ and โ€œheuristic distance function โ„Ž(๐‘( ๐‘˜))โ€ are defined where ๐‘( ๐‘˜) is the โ€œpixel node at step ๐‘˜ [2].โ€ The โ€œdistance-plus-cost function ๐‘“(๐‘( ๐‘˜))โ€ is defined to be ๐‘“(๐‘( ๐‘˜)) = ๐‘”(๐‘( ๐‘˜)) + โ„Ž(๐‘( ๐‘˜)). If a pixel is outside of the keep-out region (which [2] describes as โ€œthe prohibited constraint setโ€), then the cost function is given by ๐‘”(๐‘( ๐‘˜)) = ๐œƒ(๐‘’( ๐‘˜), ๐‘’( ๐‘˜ โˆ’ 1)) + ๐‘‘ + ๐‘”(๐‘( ๐‘˜ โˆ’ 1)), where ๐‘’( ๐‘˜) is the vector difference between the โ€œcurrentโ€ and โ€œpreviousโ€ pixels, and ๐œƒ(๐‘’( ๐‘˜), ๐‘’( ๐‘˜ โˆ’ 1)) can be interpreted as the angle by which the path has deflected in the
  • 21. 21 previous two iterations, โ€œthus penalizing a change in the eigenaxis vector direction โ€ฆ If, however, the pixel is inside the prohibited constraint set, then ๐‘”(๐‘( ๐‘˜)) = ๐‘, where ๐‘ is an arbitrarily large constant to prevent a solution from going within the constrained region [2].โ€ The heuristic distance function is the same regardless of whether or not a pixel is inside the constrained region. If ๐‘( ๐‘š) represents the โ€œtargetโ€ pixel, then the heuristic distance is the angle that must be traversed in order to reach it [2]. Therefore โ„Ž(๐‘( ๐‘˜), ๐‘( ๐‘š)) = arccos[๐‘ฃ(๐‘( ๐‘˜)) โˆ™ ๐‘ฃ(๐‘( ๐‘š))]. Having defined both cost functions, the A* algorithm can be run to find the path that minimizes the total cost between the initial and final pixels. The algorithm as described by Kjellberg and Lighsey returns the set of pixels that provide an admissible, locally minimum path-cost [as defined by the path-cost function ๐‘“(๐‘( ๐‘˜))] trajectory for the desired rotation of the vehicleโ€™s body-fixed x axis to the new attitude. The pixels that have been explored during this process are known as the closed set. The pixels that constitute the final path are reduced by eliminating all pixels that lie along approximately the same path on a great circle. The remaining pixels are โ€œturning points,โ€ locations where the eigenaxis vector direction must change โ€ฆ The resulting trajectory for a typical reorientation problem is shown in Figure 8 [of [2], collated in Figure 1-2] for the vehicleโ€™s body-fixed x axis [2]. Advantages and disadvantages. In contrast with the optimal control solution, discretization becomes more efficient as the number of constraints increases. This is because more constraints reduce the number of pixels accessible to the A* algorithm [2]. However, it is worth noting that this method provides a solution that can be quite far from optimal since the โ€œcost functionโ€ being optimized relates to the A* algorithm instead of the keep-out problem optimized by Lee and Mesbahi.
  • 22. 22 Figure 1-2. "Example x-axis reorientation trajectory resulting from the A* pathfinder algorithm [2].โ€ However, Kjellberg and Lightsey note that โ€œthese advantages are particularly well suited for small spacecraft, which have limited power and processing capabilities, yet must meet many different attitude constraints [2].โ€ In terms of complexity, workspace discretization can be thought of as a middle ground between optimality, and the computational efficiency of the Lyapunovโ€™s method for nonlinear control. Method of Lyapunov Summary. While the optimal control and workspace discretization methods undoubtedly have their advantages, they are ultimately algorithmic approaches. The optimal solution can only be approximated by introducing a finite number of collocation
  • 23. 23 points, and increasing the accuracy of the approximation drastically slows down its computation. The workspace discretization method is purely algorithmic, requiring the discretization of space around the satellite in order to be compatible with the A* pathfinding algorithm proposed by Kjellberg and Lightsey. In both cases, the time complexity of obtaining the solution depends on the fidelity of the discretization (i.e. a better approximation can be obtained in both cases by using either more collocation points, or more pixels respectively). An analytic and closed-form solution has the benefit of being rapidly calculable, although the solution obtained may not be optimal. Colin McInnes describes a procedure to obtain such a solution: โ€œThe second method of Lyapunov allows expressions for the required control torques to be obtained analytically in closed form. Therefore, attitude control commands may be generated in real time, so that the method may be suitable for autonomous, onboard operations [3].โ€ Defining โ€œa scalar potential function ๐‘‰ โ€ฆ to be positive definite everywhere, except at the target point of the system state space where it will vanish [3],โ€ ๐‘‰ = 1 2 โˆ‘ ๐ผ๐‘– ๐œ”๐‘– 2 3 ๐‘–=1 + 1 2 โˆ‘ ๐œ†(๐œƒ๐‘– โˆ’ ๐œƒ๐‘–) 2 3 ๐‘–=1 . (1-12) Thus taking the first time derivative (TD1) of Eq. 1-12 yields ๐‘‰ฬ‡ = โˆ‘ ๐œ”๐‘– ๐‘‡๐‘– 3 ๐‘–=1 + โˆ‘ ๐œ†๐œƒฬ‡ ๐‘–(๐œƒ๐‘– โˆ’ ๐œƒฬƒ๐‘–) 2 3 ๐‘–=1 (1-13) where โ€œ๐œ”๐‘–, ๐ผ๐‘–, ๐‘‡๐‘– (๐‘– = 1, โ€ฆ ,3) are the satellite body rate, moment of inertia, and control torque about the ๐‘–th principal axisโ€, and โ€œthe second term [of Eq. 1-12] represents an
  • 24. 24 artificial potential energy possessed by the system relative to the target attitude (๐œƒฬƒ1, ๐œƒฬƒ2, ๐œƒฬƒ3) [3].โ€ Since ๐‘‰ takes on its minimum value (of zero) at the desired orientation and angular velocity, the control solution ๐‘‡๐‘– should be specified such that ๐‘‰ฬ‡ (and Eq. 1-13 by extension) is negative semidefinite [3]. โ€œThe choice of control is obviously nonunique; however, the simplest control is selected as ๐‘‡๐‘– = โˆ’๐œ…๐œ”๐‘– โˆ’ โˆ‘ ๐บ๐‘–๐‘— ๐‘‡ ๐œ†๐‘—(๐œƒ๐‘— โˆ’ ๐œƒฬƒ๐‘—) 3 ๐‘—=1 where the gain constants ๐œ… and ๐œ†๐‘– (๐‘– = 1, โ€ฆ ,3 [sic]) will be chosen to shape the maneuver [3].โ€ The matrix ๐บ๐‘–๐‘— ๐‘‡ is a function of the spatial geometry of the system: ๐บ๐‘–๐‘— ๐‘‡ = [ 1 sin ๐œƒ1 tan ๐œƒ2 cos ๐œƒ1 tan ๐œƒ2 0 cos ๐œƒ1 โˆ’ sin ๐œƒ1 0 sin ๐œƒ1 sec ๐œƒ2 cos ๐œƒ1 sec ๐œƒ2 ]. It can thus be shown that the target attitude is โ€œthe only attractive equilibrium point for the system [3].โ€ In the context of โ€œsun vector avoidance,โ€ another scalar potential function must be defined, although its exact form varies from author to author. McInnes uses Gaussian functions โ€œto represent the regions of high potential so that there are no singularities in the potential and the controls are bounded [3].โ€ Unsik Lee and Mehran Mesbahi use โ€œlogarithmic barrier potentials [4].โ€ This is the point at which most research into APF-based controls diverges, as the method of Lyapunov can be applied to many different potentials and constraints โ€“ nearly all of which are defined differently from author to author. It is from here that my own research branches off โ€“ away from the background material discussed thus far.
  • 25. 25 Advantages and disadvantages. It is hopefully apparent from this summary of Lyapunovโ€™s method that there is no one way to solve a constrained maneuver problem, as doing so is nearly as much of an art as it is a science, which may be seen as either a disadvantage (as some other methods yield concretely defined solutions with easily understood physical significance), or a great advantage (since there are often as many different ways to solve a problem using APFs, each with its own set of advantages and disadvantages). However, it should be disclosed that the solution can never be said to be optimal, no matter what APF is chosen. The lack of optimality should really only be seen as a barrier to use in the case of satellites for which quickly executing a maneuver is more important than sparing on- board computational resources for more (subjectively) โ€œimportantโ€ tasks. For example, a satellite conducting a survey of overhead constellations may not need to slew in an optimal manner, but if the processor on board only has limited processing capability then the analytical solution provided by Lyapunovโ€™s method may be more attractive. The greatest concerns with the application of user-defined scalar potentials is that, when superimposed, the APFs may give rise to regions where the scalar rate becomes zero, even though the desired state has not been reached. These situations can be avoided through deliberate configuration of the APFs, and are oftentimes unstable (meaning that they could be avoided using a jitter controller, which provides numerical uncertainty to the currently adopted state). However, if such a region were the result of a stable local minimum, then a more powerful approach is necessary. This โ€œlocal minimum problemโ€ is of great concern to researchers studying nonlinear controls, but it is currently beyond the scope of this document to address it directly.
  • 26. 26 CHAPTER 2 MATHEMATICAL OVERVIEW Vector Operations in Linear Algebra As noted in Chapter 1, โ€œthe word โ€˜vectorโ€™ may be used to refer to any matrix where either of the dimensions are 1.โ€ This can be done because every operation in vector algebra has an equivalent operation in linear algebra. For example, consider a vector ๐‘ฃ โˆˆ โ„3 . If ๐‘ฃ is parameterized in an arbitrary reference basis ๐ด containing orthonormal basis vectors 1ฬ‚, 2ฬ‚, and 3ฬ‚, with corresponding parallel components ๐‘ฃ1, ๐‘ฃ2, and ๐‘ฃ3, then the vector annotated equation for ๐‘ฃ๐ด would be ๐‘ฃ๐ด = ๐‘ฃ11ฬ‚ + ๐‘ฃ22ฬ‚ + ๐‘ฃ33ฬ‚, Thus, the equivalent matrix form conveniently allows for the use of ๐‘ฃ๐ด in linear algebra operations, and can be determined by respectively representing the vectors 1ฬ‚, 2ฬ‚, and 3ฬ‚ (parameterized in ๐ด) as the 3 ร— 1 matrices (column vectors) [1 0 0] ๐‘‡ , [0 1 0] ๐‘‡ , and [0 0 1] ๐‘‡ , then ๐‘ฃ๐ด has the equivalent matrix representation ๐‘ฃ๐ด โŸบ [ ๐‘ฃ1 ๐‘ฃ2 ๐‘ฃ3 ]. Defining a second vector ๐‘ข which is also parameterized in the ๐ด-fixed {1ฬ‚, 2ฬ‚, 3ฬ‚} basis, it follows from the definition of the โ€œdot productโ€ ๐‘ข โˆ™ ๐‘ฃ that ๐‘ข โˆ™ ๐‘ฃ = ๐‘ข1 ๐‘ฃ1 + ๐‘ข2 ๐‘ฃ2 + ๐‘ข3 ๐‘ฃ3. (2-1) Note that the upper-left superscripts have been omitted because Eq. 2-1 is valid in any coordinate system provided both vectors are parameterized within it. Ergo, Eq. 2-1 has the equivalent matrix representation ๐‘ข โˆ™ ๐‘ฃ โŸบ ๐‘ข๐ด ๐‘‡ ๐‘ฃ๐ด (2-2)
  • 27. 27 where the superscript ๐‘‡ denotes the transpose of the column vector ๐‘ข๐ด . One can verify this by performing the multiplication in Eq. 2-2 and comparing its results to Eq. 2-1. The result in Eq. 2-2 naturally suggests that there is an equivalent matrix form for the cross product as well. Thus, we may once again consider the vectors ๐‘ข and ๐‘ฃ as parameterized in the {1ฬ‚, 2ฬ‚, 3ฬ‚} basis. By definition, the cross product ๐‘ข๐ด ร— ๐‘ฃ๐ด is equal to ๐‘ข๐ด ร— ๐‘ฃ๐ด = ( ๐‘ข2 ๐‘ฃ3 โˆ’ ๐‘ข3 ๐‘ฃ2)1ฬ‚ + ( ๐‘ข3 ๐‘ฃ1 โˆ’ ๐‘ข1 ๐‘ฃ3)2ฬ‚ + ( ๐‘ข1 ๐‘ฃ2 โˆ’ ๐‘ข2 ๐‘ฃ1)3ฬ‚. (2-3) It is possible to group the terms on the right-hand side of Eq. 2-3 such that it may be represented as the multiplication of a 3 ร— 3 matrix and the 3 ร— 1 matrix representing the vector ๐‘ฃ๐ด . This yields ๐‘ข๐ด ร— ๐‘ฃ๐ด โŸบ ๐‘ข๐ด ร— ๐‘ฃ๐ด ; (2-4a) ๐‘ข๐ด ร— โ‰ [ 0 โˆ’๐‘ข3 ๐‘ข2 ๐‘ข3 0 โˆ’๐‘ข1 โˆ’๐‘ข2 ๐‘ข1 0 ] (2-4b) where the superscript ร— in Eq. 2-4a denotes the โ€œskew matrix formโ€ of the column vector ๐‘ข๐ด which is defined in Eq. 2-4b. Once again, this may be verified by executing the matrix multiplication in Eq. 2-4a, which will consequently yield Eq. 2-4b. The equivalencies in Eqs. 2-2 and 2-4a allow us to reconcile vector operations with linear algebra. One example of this which we will eventually find to be particularly useful relates the cross product of two vectors to their dot product. The identity formally known as the โ€œvector triple productโ€ is most commonly cited in terms of vector operations. However, we will hereafter refer to its equivalent matrix form: ๐‘ข๐ด ร— ๐‘ฃ๐ด ร— = ๐‘ฃ๐ด ๐‘ข๐ด T โˆ’ ๐‘ข๐ด T ๐‘ฃ๐ด ๐•€ (2-5) where ๐•€ is the 3 ร— 3 identity matrix. This identity is proven formally in [6], published in 1939โ€™s Mathematical Gazette by S. Chapman and E. A. Milne.
  • 28. 28 Body Rotations and Quaternion Math The rotation of a rigid body in space can always be specified using a direction cosine matrix (DCM) โ€“ a 3x3 matrix whose terms fully specify the rotation of one coordinate system with respect to another. For example, consider a spacecraft whose body-fixed (i.e. fixed in frame ๐ต) ๐‘ฅ, ๐‘ฆ, and ๐‘ง axes are parameterized in an inertially-fixed (i.e. fixed in frame ๐‘) coordinate system as ๐‘ฅฬ‚๐‘ , ๐‘ฆฬ‚๐‘ , and ๐‘งฬ‚๐‘ , respectively. The DCM that converts an inertially-fixed vector to body-fixed coordinates is ๐‘…๐‘ ๐ต = [ ๐‘ฅฬ‚๐ต ๐‘ฆฬ‚๐ต ๐‘งฬ‚๐ต ] [7]. As a point of interest, the TD1 of any DCM is dependent on the angular velocity of the coordinate system it transforms into. In general, for two coordinate systems fixed in arbitrary reference frames ๐ด and ๐ต, the TD1 of ๐‘…๐ด ๐ต is ๐‘…ฬ‡๐ด ๐ต = โˆ’ ๐œ”๐ด ๐ต ร— ๐‘…๐ด ๐ต (2-6) where ๐œ”๐ด ๐ต is the angular velocity of the ๐ต frame relative to the ๐ด frame [8]. More compact ways of representing an orientation are available. The axis-angle representation identifies the transformation between two reference frames as a rotation by a single net rotation angle ๐œƒ about a unit length โ€œEigen-axisโ€ ๐‘Žฬ‚. Alternatively, we may specify the transformation as a sequence of three rotations about the basis axes. The angles, in sequence, are known as โ€œEulerโ€ angles. Either case exhibits special orientations (called โ€œsingularitiesโ€ in formal literature [9]) for which a unique set of parameters may not be determined. Many Earth-bound applications (e.g. submarines, land vehicles, and passenger planes) may avoid these singularities by restricting their operational envelopes (e.g. not being designed to execute a 90ยฐ roll).
  • 29. 29 Satellites in space, however, do not often have such restrictions placed on the attitudes they can occupy. Their constraints tend to be more exotic (such as the attitude mandatory and forbidden constraints discussed in Chapter 1) thus necessitating a singularity-free expression of attitude. For this reason, space-based applications use four-element parameters called โ€œEuler symmetric parametersโ€ or โ€œquaternions.โ€ Because they do not contain a minimal set of three elements, quaternions are able to store all of the information necessary to specify a unique orientation in space. These elements may be uniquely determined from any DCM, including those which would create singularities in other representations. Formally, quaternions are complex numbers consisting of one real, and three imaginary components. However, in the context of this document, any quaternion is treated as a 4 ร— 1 matrix (or four-dimensional column vector) of the form ๐‘ž โ‰ [ ๐‘Žฬ‚ sin( ๐œƒ 2โ„ ) cos( ๐œƒ 2โ„ ) ] โ‰ [ ๐œ€ ๐œ‚] โ‰ [ ๐œ€1 ๐œ€2 ๐œ€3 ๐œ‚ ] (2-7) where ๐‘Žฬ‚ is the the Eigen-axis of the rotation (the parameterization of which is context- dependent), and ๐œƒ is the rotation angle. As a point of interest, it follows from Eq. 2-7 that |๐‘ž| = โˆšsin2( ๐œƒ 2โ„ ) + cos2( ๐œƒ 2โ„ ) โ‰ก 1, thus any quaternion representing a pure rotation (which, in this context, is the only quaternion we will use) is of unit โ€œlength.โ€ The inverse rotation can be represented by a quaternion obtained in one of two ways: either by rotating the starting coordinate basis about ๐‘Žฬ‚ by an angle โ€“ ๐œƒ, or by rotating about โˆ’๐‘Žฬ‚ by ๐œƒ. Modifying Eq. 2-7, the inverse quaternion can be written as
  • 30. 30 ๐‘žโˆ’1 = [ ๐‘Žฬ‚ sin(โˆ’ ๐œƒ 2โ„ ) cos(โˆ’ ๐œƒ 2โ„ ) ] = [ ๐‘Žฬ‚ sin( ๐œƒ 2โ„ ) โˆ’ cos( ๐œƒ 2โ„ ) ] โ‰ก [ ๐œ€ โˆ’๐œ‚] ; (2-8a) ๐‘žโˆ’1 = [ โˆ’๐‘Žฬ‚ sin( ๐œƒ 2โ„ ) cos( ๐œƒ 2โ„ ) ] โ‰ก [ โˆ’๐œ€ ๐œ‚ ] = โˆ’ [ ๐œ€ โˆ’๐œ‚] โ‰ก โˆ’๐‘žโˆ’1 . (2-8b) Note that Eqs. 2-8a and 2-8b are equivalent, despite being separated by a factor of โˆ’1. This interesting property is called โ€œsign ambiguityโ€, and implies that for any quaternion ๐‘ž = โˆ’๐‘ž. It will also be useful to note that applying any two rotations represented by the quaternions ๐‘ž1 and ๐‘ž2 to a starting coordinate basis is equivalent to applying a single rotation represented by may be expressed as a single rotation represented by the quaternion ๐‘ž ๐‘’ (also known as the โ€œquaternion errorโ€). If basis 1 and 2 are reached by respectively applying ๐‘ž1 and ๐‘ž2 to the starting basis, then the quaternion error is determined by applying the โ€œquaternion product [10]โ€ to ๐‘ž2 and ๐‘ž1 โˆ’1 ๐‘ž ๐‘’ โ‰ ๐‘ž2 โŠ— ๐‘ž1 โˆ’1 , which has the equivalent matrix expression ๐‘ž ๐‘’ = [ โˆ’๐œ€1 ร— + ๐œ‚2 ๐•€ โˆ’๐œ€1 ๐œ€1 ๐‘‡ ๐œ‚1 ] [ ๐œ€2 ๐œ‚2 ], (2-9) where ๐•€ denotes the identity matrix of dimension 3x3. Equation 2-9 shows that the quaternion error can be obtained by applying a linear operation on ๐‘ž2. However, it may be useful to express the quaternion error as a linear operation on ๐‘ž1 instead. Reorganization of Eq. 2-9 results in the expression ๐‘ž ๐‘’ = [ ๐œ€2 ร— โˆ’ ๐œ‚2 ๐•€ ๐œ€2 ๐œ€2 ๐‘‡ ๐œ‚2 ] [ ๐œ€1 ๐œ‚1 ], (2-10)
  • 31. 31 Thus, from these two equivalent forms of the quaternion error, we may define the โ€œquaternion error matrixโ€ of type 1 from Eq. 2-9, and of type 2 from Eq. 2-10: ๐‘„1 (๐‘ž) โ‰ [ โˆ’๐œ€ร— + ๐œ‚๐•€ โˆ’๐œ€ ๐œ€ ๐‘‡ ๐œ‚ ] ; (2-11a) ๐‘„2 (๐‘ž) โ‰ [ ๐œ€ร— โˆ’ ๐œ‚๐•€ ๐œ€ ๐œ€ ๐‘‡ ๐œ‚ ]. (2-11b) If we then substitute Eqs. 2-11a and 2-11b into Eqs. 2-9 and 2-10 respectively, we find that a more compact expression for the quaternion error may be used: ๐‘ž ๐‘’ = ๐‘„1 (๐‘ž1) ๐‘ž2 = ๐‘„2 (๐‘ž2) ๐‘ž1. (2-12) Equation 2-12 affords us a meaningful, compact way of expression the effective difference between two rotations, which will become useful later. For now, however, we must also be concerned with locating a similar expression for a quaternion rate. Because a quaternion contains four elements, so too must its TD1. However, recall from Eq. 2-6 that the TD1 of an orientation is dependent on its angular velocity โ€“ a physical vector consisting of three elements. A quaternion representation of orientation should therefore be no different, so we must introduce a rectangular matrix to reconcile this difference in the dimensionality: ฮž (๐‘ž) โ‰ [ ๐œ€ร— + ๐œ‚๐•€ โˆ’๐œ€ ๐‘‡ ]. (2-13) The matrix defined in Eq. 2-13 is called the โ€œquaternion rate matrixโ€, and converts the angular velocity of a coordinate system into a quaternion rate. For a coordinate system defined by an orientation ๐‘ž and angular velocity ๐œ”, the TD1 of ๐‘ž (i.e. ๐‘žฬ‡) is ๐‘žฬ‡ = 1 2 ฮž (๐‘ž) ๐œ”. (2-14)
  • 32. 32 Derivatives of (and With Respect to) Multi-Dimensional Quantities The previous discussion about the differentiation of a quaternion serves as an indicator of the important role of derivatives in the field of nonlinear and APF-based control. In fact, it will often be required of us to differentiate these multi-dimensional quantities โ€“ sometimes with respect to other quantities of the same dimensionality. We will find that any matrix can be differentiated with respect to a scalar quantity, but only a scalar can be differentiated with respect to a matrix. Furthermore, in the case where a matrix represents a column vector, we may introduce new definitions to allow for the differentiation of either a vector with respect to a vector. In most applications, differentiation is applied to a scalar with respect to another scalar. For example, if ๐‘ฆ and ๐‘ฅ are scalars, then the derivative ๐ท of ๐‘ฆ with respect to ๐‘ฅ can be written as ๐ท โ‰ ๐‘‘๐‘ฆ ๐‘‘๐‘ฅ if and only if ๐‘ฆ is a function of only ๐‘ฅ. More generally, if ๐‘ฆ is a function of other variables, then the derivative ๐ท can be written as ๐ท โ‰ ๐œ•๐‘ฆ ๐œ•๐‘ฅ (2-15) Similarly, we may differentiate a general ๐‘› ร— ๐‘š matrix with respect to a scalar. This also applies to vector quantities, since they may be represented as matrices. In general, if ๐‘€ โˆˆ โ„ ๐‘›ร—๐‘š , then the derivative ๐ท of ๐‘€ with respect to a scalar ๐‘ฅ is defined as ๐ท โ‰ [ ๐œ•๐‘€11 ๐œ•๐‘ฅ โ‹ฏ ๐œ•๐‘€1๐‘š ๐œ•๐‘ฅ โ‹ฎ โ‹ฑ โ‹ฎ ๐œ•๐‘€ ๐‘›1 ๐œ•๐‘ฅ โ‹ฏ ๐œ•๐‘€ ๐‘›๐‘š ๐œ•๐‘ฅ ] (2-16)
  • 33. 33 [11], [12], [13] In other words, differentiating a vector or matrix with respect to a scalar is equivalent to differentiating every element of that vector or matrix individually. We will also need to consider the derivative a vector (but not a matrix [11]) with respect to another vector. Note that, just as a vector can be represented as a single- column matrix, so too may a scalar be represented as a single-element vector. In general, if ๐‘ข โˆˆ โ„ ๐‘› and ๐‘ฃ โˆˆ โ„ ๐‘š , then the derivative ๐ท of ๐‘ข with respect to ๐‘ฃ is defined as ๐ท โ‰ [ ๐œ•๐‘ข1 ๐œ•๐‘ฃ1 โ‹ฏ ๐œ•๐‘ข1 ๐œ•๐‘ฃ ๐‘› โ‹ฎ โ‹ฑ โ‹ฎ ๐œ•๐‘ข ๐‘› ๐œ•๐‘ฃ1 โ‹ฏ ๐œ•๐‘ข ๐‘› ๐œ•๐‘ฃ ๐‘š] (2-17) [11], [12], [13] Note that in the case where ๐‘ข โˆˆ โ„1 โ†’ ๐‘ข โˆˆ โ„, Eq. 2-17 reduces to a row vector ๐ท ๐‘‡ (where ๐ท โˆˆ โ„ ๐‘› ). Furthermore, in the case where ๐‘ฃ โˆˆ โ„1 โ†’ ๐‘ฃ โˆˆ โ„, Eq. 2-17 reduces to Eq. 2-16. If both conditions are true, then Eq. 2-17 fully reduces to Eq. 2-15. These reduction checks serve to indicate that the general form of the matrix derivative in Eq. 2-17 is valid in every case that we will encounter here. Finally (for completenessโ€™ sake), a derivative taken with respect to a matrix is only valid with respect to a scalar [11]. The derivative ๐ท of the scalar ๐‘ฆ with respect to a matrix ๐‘€ is thus defined as ๐ท โ‰ [ ๐œ•๐‘ฆ ๐œ•๐‘€11 โ‹ฏ ๐œ•๐‘ฆ ๐œ•๐‘€ ๐‘›1 โ‹ฎ โ‹ฑ โ‹ฎ ๐œ•๐‘ฆ ๐œ•๐‘€1๐‘š โ‹ฏ ๐œ•๐‘ฆ ๐œ•๐‘€ ๐‘›๐‘š] [11] Note that if ๐‘€ โˆˆ โ„ ๐‘›ร—๐‘š โ†’ ๐‘€ โˆˆ โ„ ๐‘› then ๐ท reduces to Eq. 2-17, thus we find that the generality of these definitions hold for all special cases.
  • 34. 34 As a point of interest, some conventions transpose the resulting derivative matrices for various reasons. Equations 2-15 through 2-17 thus represent the untransposed form, giving them โ€œthe advantage of better agreement of matrix products with composition schemes such as the chain rule [12].โ€ Reference [11] compactly provides the form of each derivative given the type of quantity being differentiated, and that which it is being differentiated with respect to. Table 2-1. Summary of derivatives discussed in this section, as outlined in [11]. The first row shows the type of quantity being differentiated; the first column shows the type of quantity it is being differentiated with respect to. Diff. W.R.T. Diff. Of Scalar Diff. Of Vector Diff. Of Matrix Scalar ๐‘‘๐‘ฆ ๐‘‘๐‘ฅ ๐‘‘๐‘ข ๐‘‘๐‘ฅ = [ ๐œ•๐‘ข๐‘– ๐‘‘๐‘ฅ ] ๐‘‘๐‘€ ๐‘‘๐‘ฅ = [ ๐œ•๐‘€๐‘–๐‘— ๐‘‘๐‘ฅ ] Vector ๐‘‘๐‘ฆ ๐‘‘๐‘ฃ = [ ๐œ•๐‘ฆ ๐œ•๐‘ฃ๐‘— ] ๐‘‘๐‘ข ๐‘‘๐‘ฃ = [ ๐œ•๐‘ข๐‘– ๐‘‘๐‘ฃ๐‘— ] Matrix ๐‘‘๐‘ฆ ๐‘‘๐‘€ = [ ๐œ•๐‘ฆ ๐œ•๐‘€๐‘—๐‘– ] The properties of matrix derivatives are largely similar to those of scalar derivatives. They can be found summarized in [13], [14], and [15]. Of particular use is the โ€œmultivariate chain ruleโ€ which will allow us to differentiate quantities with multiple dimensions and dependencies. ๐‘‘๐‘“ = ๐œ•๐‘“ ๐œ•๐‘ฅ1 ๐‘‘๐‘ฅ1 + โ‹ฏ + ๐œ•๐‘“ ๐œ•๐‘ฅ ๐‘› ๐‘‘๐‘ฅ ๐‘› (2-18)
  • 35. 35 CHAPTER 3 METHODOLOGY Formal Definition of an APF An APF is a scalar potential function, hereafter denoted by ๐œ‘ or ๐œ‘ (๐“…) where ๐“… โˆˆ โ„› ๐‘› is a vector containing ๐‘› independent variables. For example, if the state is written as ๐“… = [ ๐‘ฅ ๐‘ฆ] ๐‘‡ (corresponding to coordinates in a horizontal plane), then ๐œ‘ can be visualized as a surface in 3-dimensional Cartesian space as in Figure 3-1. Figure 3-1. An abstracted potential function containing a sample of six initial states, and their corresponding paths to the nearest local minimum.
  • 36. 36 Recall from [3] that states (coordinates on the surface) corresponding to low values of ๐œ‘ are more desirable than those corresponding to high values. By inspection, it can be seen that an arbitrarily chosen point on the surface (represented in Figure 3-1 by the six sample points ๐“…๐‘– = [ ๐‘ฅ๐‘– ๐‘ฆ๐‘–] (๐‘– = 1, โ€ฆ ,6)) lies on a unique path formed by the local negative gradient. According to the method of Lyapunov, such a path must always terminate at a local minimum. In Figure 3-1, the two possible local minima are represented by the points ๐“… ๐ด = [ ๐‘ฅ ๐ด ๐‘ฆ ๐ด] and ๐“… ๐ต = [ ๐‘ฅ ๐ต ๐‘ฆ ๐ต]. If, instead of a fixed point in space, the potential-bound state is visualized as a loose particle free to move along the surface of the APF, then a particle released at any point will propagate towards a more desirable state by following such a path. To state this more formally: A state ๐“… constrained to an APF ๐œ‘ and initial condition ๐“…0 will always propagate towards a local minimum if and only if the rate ๐œ‘ฬ‡ at which the stateโ€™s potential changes is negative-definite at every point along the path (not inclusive of the final endpoint, at which ๐œ‘ฬ‡ = 0). There are three requirements for the asymptotically stable convergence of Lyapunovโ€™s method, which are mathematically expressed in [16] as: ๐œ‘(0) = 0; ๐œ‘ (๐“…) > 0 โˆ€ ๐“… โ‰  0, (3-1) ๐œ‘ฬ‡ (๐“…) โ‰ค 0 โˆ€ ๐“…, (3-2) โ€–๐œ‘ (๐“…)โ€– โ†’ โˆž as โ€–๐“…โ€– โ†’ โˆž. (3-3) The first requirement provided by Eq. 3-1 requires the positive semi-definiteness of the APF. If negative values of ๐œ‘ are allowed, then a perpetually negative ๐œ‘ฬ‡ would conceivably result in values of ๐œ‘ approaching (negative) infinity.
  • 37. 37 The second requirement (Eq. 3-2) therefore pertains to the positive semi- definiteness of the TD1 of the APF. This requirement is more obvious than the other two, as a positive ๐œ‘ฬ‡ would lead away from convergence to a local minimum. Finally, the third requirement (Eq. 3-3) pertains to the radial unboundedness of the APF. This is, perhaps, the least intuitive requirement. Note that the example potential function in Figure 3-1 takes the shape of a โ€œbowlโ€, which is to say that it approaches infinity in any radial direction. This allows for asymptotic convergence for states whose initial conditions are of large magnitude compared to the primary workspace of the system. Observing all requirements, the system is asymptotically stable in state space (the space containing all possible values for the state ๐“…) for any initial condition ๐“…0 [16]. However, it is worth noting that there is no condition to guarantee convergence to the absolute minimum, as other local minima may exist (recall the local minimum problem described in Chapter 1). Defining the Error States In the absence of constraints, only an attractive potential is necessary to drive the state of the spacecraft towards its desired value. However, the state being manipulated must first be defined. Let ๐‘ž be the quaternion representing the present orientation of the spacecraft, and ๐‘ž ๐‘“ be the quaternion representing the orientation that the spacecraft is attempting to reach. Recall from Chapter 2 that the quaternion error corresponding to the difference between the current and final states is ๐‘ž ๐‘’ = [ โˆ’๐œ€ ๐‘“ ร— + ๐œ‚ ๐‘“ ๐•€ โˆ’๐œ€ ๐‘“ ๐œ€ ๐‘“ ๐‘‡ ๐œ‚ ๐‘“ ] [ ๐œ€ ๐œ‚] (2-9)
  • 38. 38 Note that as ๐‘ž โ†’ ๐‘ž ๐‘“, Eq. 2-9 reduces to ๐‘ž ๐‘’ = [0 ๐‘‡ ยฑ1] ๐‘‡ โ€“ the โ€œeffective zero state orientationโ€ which represents convergence. Thus the quaternion error represents the relative rotation of the current โ€œbody frameโ€ (the reference frame fixed to the satellite) relative to the final โ€œtracking frameโ€ as shown in Figure 3-2. Figure 3-2. The relative orientations of the inertial, body, and tracking frames. The first observation we can make about the effective zero state orientation is that its magnitude is nonzero. More specifically, since ๐‘ž ๐‘’ represents a pure rotation, it is necessarily of unit length. However, in our discussion of the method of Lyapunov in Chapter 1, it was stated that the purpose of the controller is to drive the relative state to zero. This requirement has not changed: even though the effective zero state has a nonzero magnitude, it is representative of a zero degree rotation about any axis, and can therefore be regarded as โ€œzero in natureโ€ or โ€œeffectivelyโ€ zero.
  • 39. 39 The second observation is that there is not one, but two possible values of convergence. Specifically, the parameter ๐œ‚ ๐‘’ can converge to either +1 or โˆ’1, which corresponds to a relative rotation of either 0ยฐ or 360ยฐ about any axis. This arises from the sign ambiguity demonstrated in Eqs. 2-8a and 2-8b. Note that, no matter which state is converged upon, the end result is zero relative attitude. Another quantity of importance is the โ€œangular velocity errorโ€ ๐œ” ๐‘’ โ€“ the angular velocity of the body frame with respect to the tracking frame, which is implicitly parameterized in the body frame. As such, ๐œ” ๐‘’ can be calculated by taking the difference of the body frame angular velocity ๐œ”, and the tracking frame angular velocity ๐œ” ๐‘’ (after it has been re-evaluated in the body frame). Thus ๐œ” ๐‘’ = ๐œ” โˆ’ ๐‘… ๐‘’ ๐œ” ๐‘“ (3-4) where ๐‘… ๐‘’ is the DCM representation of the orientation represented by ๐‘ž ๐‘’. The Unconstrained Case With the relative states defined, we may now specify an attractive potential to bring it to its zero value. Recall from Chapter 1 that this has been typically accomplished by using a Lyapunov potential function of the form ๐‘‰ = 1 2 โˆ‘ ๐ผ๐‘– ๐œ”๐‘– 2 3 ๐‘–=1 + 1 2 โˆ‘ ๐œ†(๐œƒ๐‘– โˆ’ ๐œƒ๐‘–) 2 3 ๐‘–=1 , (1-12) which was effective when the only constraints being enforced were directly placed on the orientation of the spacecraft, and not the angular velocity. It will eventually be shown that a general framework requires the separation of the APF into two distinct stages โ€“ one for orientation, and one for angular velocity. For now, we will only consider an APF that affects the former (indicated by a subscript 1):
  • 40. 40 ๐œ‘1,๐‘Ž = 1 2 ๐œ€ ๐‘’ ๐‘‡ ๐œ€ ๐‘’ + 1 2 (1 โˆ’ ๐œ‚ ๐‘’ 2). (3-5) Note that unlike Eq. 1-13, Eq. 3-5 is in terms of the quaternion components ๐œ€ ๐‘’ and ๐œ‚ ๐‘’. A quick check shows that as ๐‘ž ๐‘’ โ†’ [0 ๐‘‡ ยฑ1] ๐‘‡ , the potential ๐œ‘1,๐‘Ž approaches 0 (regardless of the unit length requirement or sign ambiguity of ๐‘ž ๐‘’). Furthermore, since ๐œ€ ๐‘’ ๐‘‡ ๐œ€ ๐‘’ > 0 โˆ€ ๐œ€ โ‰  0, and ๐œ‚ ๐‘’ 2 โ‰ cos2( ๐œƒ๐‘’ 2โ„ ) < 1 โˆ€ 0ยฐ < ๐œƒ๐‘’ < 360ยฐ, it follows that ๐œ‘1,๐‘Ž > 0 when ๐‘ž ๐‘’ โ‰  [0 ๐‘‡ ยฑ1] ๐‘‡ . Thus, Eq. 3-5 satisfies the condition of positive definiteness. The condition of radial unboundedness may be ignored in this instance; since the magnitude of the state ๐‘ž ๐‘’ never approaches infinity, there is no need to check for radial unboundedness. However, in order to verify that Eq. 3-2 is satisfied, we must calculate the TD1 of Eq. 3-5. Applying the chain rule yields ๐œ‘ฬ‡1,๐‘Ž = ๐œ•๐œ‘1,๐‘Ž ๐œ•๐‘ž ๐‘’ ๐‘‘๐‘ž ๐‘’ ๐‘‘๐‘ก . (3-6) Recognizing that ๐‘ž ๐‘’ = [๐œ€ ๐‘’ ๐‘‡ ๐œ‚ ๐‘’] ๐‘‡ , it follows from Eq. 2-17 that ๐œ•๐œ‘1,๐‘Ž ๐œ•๐‘ž ๐‘’ = [ ๐œ•๐œ‘1,๐‘Ž ๐œ•๐œ€ ๐‘’ ๐œ•๐œ‘1,๐‘Ž ๐œ•๐œ‚ ๐‘’ ] = [๐œ€ ๐‘’ ๐‘‡ โˆ’๐œ‚ ๐‘’] = โˆ’ [๐‘ž ๐‘’ โˆ’1] ๐‘‡ . (3-7) Considering Eq. 3-7 and Eq. 2-6, Eq. 3-6 can be rewritten as ๐œ‘ฬ‡1,๐‘Ž = โˆ’ 1 2 [ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘ž ๐‘’ โˆ’1] ๐‘‡ ๐œ”๐‘’. (3-8) Recall that Eq. 3-8 must be at least negative semi-definite to be in accordance with Eq. 3-2. However, this can only be guaranteed by specifying a form for one or more of its variables. The quaternion error ๐‘ž ๐‘’ has a known value determined by on-board sensors, implying that its form cannot be adjusted to determine the control solution.
  • 41. 41 However, assume that the angular velocity error ๐œ” ๐‘’ โ†’ ๐œ” ๐‘’,๐‘‘ is a desired value, rather than a current evaluation. Allowing this, then the form of ๐œ” ๐‘’,๐‘‘ can be specified such that Eq. 3-8 is negative semi-definite and Eq. 3-2 is satisfied. To ensure this, we define a positive definite gain matrix ๐พ1. By definition, ๐พ1 satisfies the inequality relation ๐‘ฃ ๐‘‡ ๐พ1 ๐‘ฃ > 0 โˆ€ ๐‘ฃ โˆˆ โ„3 . Thus, a negative semi-definite equation for ๐œ‘ฬ‡1,๐‘Ž is ๐œ‘ฬ‡1,๐‘Ž = โˆ’ 1 2 [ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘ž ๐‘’ โˆ’1] ๐‘‡ ๐พ1 [ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘ž ๐‘’ โˆ’1]. (3-9) Relating Eq. 3-8 and Eq. 3-9, it follows that ๐œ” ๐‘’,๐‘‘ = ๐พ1ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘ž ๐‘’ โˆ’1 . (3-10) Equation 3-10 indicates the โ€œdesired angular velocity errorโ€ of the spacecraft. If mission controllers could adjust the angular velocity of the spacecraft directly without the need for angular momentum exchange devices on board, then ๐œ” ๐‘’,๐‘‘ represents the โ€œtargetโ€ angular velocity at the current orientation relative to the tracking state. However, since this is not the case, a second stage APF must be designed to compute the torque that must be supplied by onboard systems. Just as the first stage APF served to drive the relative orientation towards its effective zero value, the second stage APF must drive the relative angular velocity towards zero. However, in this case โ€œrelative angular velocityโ€ refers to the difference between the actual value of the current angular velocity error (determined from Eq. 3-4), and its desired value (determined from Eq. 3-10). Such a potential can take the form ๐œ‘2,๐‘Ž = 1 2 ฮ”๐œ”๐‘’ ๐‘‡ ฮ”๐œ”๐‘’, (3-11) where ฮ”๐œ”๐‘’ โ‰ ๐œ” ๐‘’ โˆ’ ๐œ” ๐‘’,๐‘‘. Note that Eq. 3-1 is satisfied since ฮ”๐œ”๐‘’ ๐‘‡ ฮ”๐œ”๐‘’ > 0 โˆ€ ฮ”๐œ”๐‘’ โ‰  0.
  • 42. 42 Likewise, substituting large magnitude values of ฮ”๐œ” into Eq. 3-11 satisfies the condition of radial unboundedness. However, we must take the TD1 of Eq. 3-11 to verify that Eq. 3-2 is satisfied. Once more referring to proof 3 of Appendix A, we find that ๐œ‘ฬ‡2,๐‘Ž = ฮ”๐œ”๐‘’ ๐‘‡ ฮ”๐œ”ฬ‡ ๐‘’, (3-12) where ฮ”๐œ”ฬ‡ ๐‘’ contains the torque vector ๐œ for which we can specify a form to ensure the negative semi-definiteness of Eq. 3-12. The TD1 of ฮ”๐œ”๐‘’ is ฮ”๐œ”ฬ‡ ๐‘’ = ๐œ”ฬ‡ ๐‘’ โˆ’ ๐œ”ฬ‡ ๐‘’,๐‘‘, (3-13) where ๐œ”ฬ‡ ๐‘’,๐‘‘ must be computed separately. However, ๐œ”ฬ‡ ๐‘’ can be re-written in terms of known angular velocities (and their TD1s), as demonstrated in proof 1 of Appendix B. Defining a new quantity ๐’ป๐‘’ called the โ€œfeed forward vectorโ€, (so named because it propagates information about the current angular velocity and orientation forward through time) Eq. 3-13 can be rewritten as ฮ”๐œ”ฬ‡ ๐‘’ = ๐œ”ฬ‡ + ๐’ป๐‘’, (3-14) where ๐’ป๐‘’ โ‰ ๐œ”ร— โ„› ๐‘’ ๐œ” ๐‘“ โˆ’ โ„› ๐‘’ ๐œ”ฬ‡ ๐‘“ โˆ’ ๐œ”ฬ‡ ๐‘’,๐‘‘. (3-15) An attractive aspect of Eq. 3-14 is that the first term ๐œ”ฬ‡ โ€“ the angular velocity rate of the body as measured in the body frame โ€“ is now the only one containing the torque vector ๐œ. It follows from Eulerโ€™s equations for rotational motion for a rigid body that ๐œ”ฬ‡ = ๐•โˆ’1 (๐œ โˆ’ ๐œ”ร— ๐•๐œ”), (3-16) where ๐• is the centroidal moment of inertia tensor for the rigid body.
  • 43. 43 Substituting Eq. 3-16 into Eq. 3-14, then further substituting into Eq. 3-12 yields ๐œ‘ฬ‡2,๐‘Ž = ฮ”๐œ” ๐‘’ ๐‘‡ [๐•โˆ’1 (๐œ โˆ’ ๐œ”ร— ๐•๐œ”) + ๐’ป๐‘’], (3-17) where we may enforce the negative definiteness of Eq. 3-17 by specifying a favorable form for the control state. In this case, we define a second positive definite gain matrix ๐พ2 such that ๐œ‘ฬ‡2,๐‘Ž = โˆ’ฮ”๐œ” ๐‘’ ๐‘‡ ๐พ2ฮ”๐œ”๐‘’. (3-18) Equating Eq. 3-17 with Eq. 3-18, we find the favorable form of ๐œ to be ๐œ = ๐œ”ร— ๐•๐œ” โˆ’ ๐• (๐พ2ฮ”๐œ”๐‘’ + ๐’ป๐‘’). (3-19) The practice of using a sequence of two APFs in this manner is called โ€œback- steppingโ€, and will eventually be used to separate repulsive potential function into APFs that affect orientation from those which affect angular velocity. Because the angular velocity of a system cannot be integrated to obtain its orientation, this approach is absolutely necessary to ensure a valid control solution. General Constraints Using the attractive potentials of Eq. 3-5 and Eq. 3-11, the body-fixed coordinate frame of the spacecraft will always converge asymptotically towards its desired value, specified by the tracking frame. This is because we have specified a form for the control state which satisfies the conditions of Eqs. 3-1 through 3-3. Note that this analysis was predicated on the assumption that no constraints existed โ€“ thus the case was said to be โ€œunconstrained.โ€ As discussed in Chapter 1, we would eventually like to create a controller which satisfies any constraint (chief among which is the keep-out constraint).
  • 44. 44 These constraints are each represented by a โ€œrepulsive potential.โ€ As the name implies, the repulsive potentials work against the attractive potential to ensure that the state does not cross a constraint boundary. Since there are two stages of attractive potential, there will also be two stages of repulsive potential. Furthermore โ€“ just as with the attractive potentials โ€“ the first stage repulsive potential affects changes in orientation, while the second affects changes in angular velocity. First though, we must consider the structure of the APF common to both stages. If the total APF ๐œ‘ is merely the superposition of its constituent (attractive and repulsive) potentials, then its magnitude is ๐œ‘ = โˆ‘ ๐œ‘๐‘– ๐‘ ๐‘–=0 , (3-20) where ๐œ‘๐‘– is the ๐‘–th potential function of any form. Note that in either stage, there is always an attractive potential component to Eq. 3-20. If we assume that ๐‘– = 0 is โ€œreservedโ€ for the attractive potential, Eq. 3-20 may be rewritten as ๐œ‘ = ๐œ‘ ๐‘Ž + โˆ‘ ๐œ‘๐‘– ๐‘ ๐‘–=1 . (3-21) Recall that, in order to satisfy Eq. 3-1, we require that Eq. 3-21 evaluates to zero at the goal state. Since each potential is independent of all others, we can only generally assume that their sum is zero if each term is itself zero. This was done by assuming the form ๐œ‘ = ๐œ‘ ๐‘Ž + โˆ‘ ๐‘๐‘– ๐œ‘ ๐‘Ž ๐œ‘ ๐‘Ÿ,๐‘– ๐‘ ๐‘–=1 = ๐œ‘ ๐‘Ž (1 + โˆ‘ ๐‘๐‘– ๐œ‘ ๐‘Ÿ,๐‘– ๐‘ ๐‘–=1 ) โ‰ ๐œ‘ ๐‘Ž ๐œ‘๐‘Ÿ, (3-22)
  • 45. 45 which has the TD1 ๐œ‘ฬ‡ = ๐œ‘ฬ‡ ๐‘Ž ๐œ‘๐‘Ÿ + ๐œ‘ ๐‘Ž ๐œ‘ฬ‡ ๐‘Ÿ. (3-23) In Eq. 3-22, ๐‘๐‘– is a positive scaling constant, and ๐œ‘ ๐‘Ÿ,๐‘– is the ๐‘–th repulsive potential. Thus, the relationship between the attractive and repulsive potential is (somewhat unexpectedly) multiplicative rather than additive. However, being potentials, each ๐œ‘ ๐‘Ÿ,๐‘– must be positive definite with a negative definite TD1. Therefore, the definition of ๐œ‘๐‘Ÿ (the โ€œtotal repulsive potentialโ€) prohibits it from every being larger than one. It then follows that Eq. 3-22 can equal zero if and only if the attractive potential is zero. In other words, the repulsive potentials affect the path to convergence, but they do not determine the goal state. For this reason, there is little use in expressing repulsive potentials in terms of the error state, or even the final state. First Stage Repulsive Potential In general, a first stage repulsive potential may be a function of any orientation illustrated in Figure 3-2 (i.e. ๐œ‘1,๐‘Ÿ = ๐œ‘1,๐‘Ÿ (๐‘ž, ๐‘ž ๐‘“, ๐‘ž ๐‘’)). Although, the quaternion error ๐‘ž ๐‘’ is a function of the body and tracking orientations (๐‘ž and ๐‘ž ๐‘“ respectively), it is a convenient parameter to represent terms containing a variance on both ๐‘ž and ๐‘ž ๐‘“. Because of this, we will carry on treating the generalized APF as a function of all three orientations, though we may later reduce its dependency to be only on the body-frame orientation. In holding with the form of Eq. 3-22, the TD1 of the potential can be written thusly: ๐œ‘ฬ‡1,๐‘Ÿ = โˆ‘ ๐‘๐‘– ๐œ‘ฬ‡1,๐‘Ÿ,๐‘– ๐‘ ๐‘–=1 . (3-24)
  • 46. 46 The differentiation of the individual repulsive potentials must be carried out using the multivariate chain rule of Eq. 2-18. Doing so yields: ๐œ‘ฬ‡1,๐‘Ÿ,๐‘– = ๐œ•๐œ‘1,๐‘Ÿ,๐‘– ๐œ•๐‘ž ๐œ•๐‘ž ๐œ•๐‘ž ๐‘’ ๐‘žฬ‡ ๐‘’ + ๐œ•๐œ‘1,๐‘Ÿ,๐‘– ๐œ•๐‘ž ๐‘“ ๐œ•๐‘ž ๐‘“ ๐œ•๐‘ž ๐‘’ ๐‘žฬ‡ ๐‘’ + ๐œ•๐œ‘1,๐‘Ÿ,๐‘– ๐œ•๐‘ž ๐‘’ ๐‘žฬ‡ ๐‘’. (3-25) Equation Eq. 3-25 can be reduced by expressing it in terms of the quaternion error matrices ๐‘„1 and ๐‘„2. Recall from Eq. 2-12 that ๐‘ž ๐‘’ = ๐‘„1 (๐‘ž2) ๐‘ž1 = ๐‘„2 (๐‘ž1) ๐‘ž2. (2-12) Proof 3 of Appendix B demonstrates that ๐‘„1 and ๐‘„2 are orthogonal, therefore ๐œ•๐‘ž ๐œ•๐‘ž ๐‘’ = ๐‘„1 ๐‘‡ (๐‘ž ๐‘“); ๐œ•๐‘ž ๐‘“ ๐œ•๐‘ž ๐‘’ = ๐‘„2 ๐‘‡ (๐‘ž). (3-26) Next, recall that the TD1 of any unit quaternion can be computed from Eq. 2-14 in terms of the quaternion rate matrix ฮž: ๐‘žฬ‡ = 1 2 ฮž (๐‘ž) ๐œ”. (2-14) Thus substitution of Eqs. 2-14 and 3-26 into Eq. 3-25 yields ๐œ‘ฬ‡1,๐‘Ÿ,๐‘– = 1 2 [ฮž ๐‘‡ (๐‘ž ๐‘’) [๐‘„1 (๐‘ž ๐‘“) ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž) + ๐‘„2 (๐‘ž) ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘“) + ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘’)]] ๐‘‡ ๐œ”๐‘’, (3-27) where ๐‘”๐‘– (๐“…) โ‰ โˆ‡ ๐“…( ๐œ‘๐‘–) โ‰ [ ๐œ•๐œ‘๐‘– ๐œ•๐“… ] ๐‘‡ (3-28) is the gradient of the APF ๐œ‘๐‘– with respect to the parameter ๐“…, and can generally be calculated from Eq. 2-17.
  • 47. 47 Owing to APF superposition, the gradient of the total repulsive potential ๐œ‘1,๐‘Ÿ is equal to the sums of the individual APF gradients: ๐‘”1,๐‘Ÿ (๐‘ž) = โˆ‘ ๐‘๐‘– ๐‘ ๐‘–=1 ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž) ; (3-29a) ๐‘”1,๐‘Ÿ (๐‘ž ๐‘“) = โˆ‘ ๐‘๐‘– ๐‘ ๐‘–=1 ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘“) ; (3-29b) ๐‘”1,๐‘Ÿ (๐‘ž ๐‘’) = โˆ‘ ๐‘๐‘– ๐‘ ๐‘–=1 ๐‘”1,๐‘Ÿ,๐‘– (๐‘ž ๐‘’). (3-29c) Substitution of Eq. 3-27 into Eq. 3-24 and simplified by Eqs. 3-29a through c yields ๐œ‘ฬ‡1,๐‘Ÿ = 1 2 [ฮž ๐‘‡ (๐‘ž ๐‘’) [๐‘„1 (๐‘ž ๐‘“) ๐‘”1,๐‘Ÿ (๐‘ž) + ๐‘„2 (๐‘ž) ๐‘”1,๐‘Ÿ (๐‘ž ๐‘“) + ๐‘”1,๐‘Ÿ (๐‘ž ๐‘’)]] ๐‘‡ ๐œ”๐‘’. (3-30) Furthermore, recall that repulsive potentials are generally represented as functions of the body state, in which case Eqs. 3-29b and 3-29c evaluate to zero. Therefore ๐œ‘ฬ‡1,๐‘Ÿ = 1 2 [ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘„1 (๐‘ž ๐‘“) ๐‘”1,๐‘Ÿ (๐‘ž)] ๐‘‡ ๐œ”๐‘’. (3-31) Equations 3-27 and 3-30 demonstrate a pattern which inspired the definition of a new quantity โ€“ the โ€œpotential rate transformationโ€ (PRT) vector โ€“ which converts the angular velocity error into an APF rate. The PRT vector is generally defined to be ฮฆ( ๐œ‘) โ‰ ฮž ๐‘‡ (๐‘ž ๐‘’) [๐‘„1 (๐‘ž ๐‘“) ๐‘” ๐œ‘ (๐‘ž) + ๐‘„2 (๐‘ž) ๐‘” ๐œ‘ (๐‘ž ๐‘“) + ๐‘” ๐œ‘ (๐‘ž ๐‘’)], (3-32) where the PRT vector (given by Eq. 3-32) satisfies the relation ๐œ‘ฬ‡ = 1 2 ฮฆ ๐‘‡( ๐œ‘) ๐œ”๐‘’. (3-33)
  • 48. 48 Setting ๐œ‘ = ๐œ‘1,๐‘Ÿ,๐‘– and ๐œ‘ = ๐œ‘1,๐‘Ÿ reduces Eq. 3-33 to Eqs. 3-27 and 3-31 respectively. We therefore expect the relation to hold if ๐œ‘ = ๐œ‘1,๐‘Ž, in which case the PRT evaluates to ฮฆ(๐œ‘1,๐‘Ž) = โˆ’ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘ž ๐‘’ โˆ’1 . (3-34) As expected, substitution of Eq. 3-34 into Eq. 3-33 confirms the result found in Eq. 3-8. We may now recast Eq. 3-23 in terms of the PRT vector for first stage potentials: ๐œ‘ฬ‡1 = 1 2 [ฮฆ(๐œ‘1,๐‘Ž)๐œ‘1,๐‘Ÿ + ฮฆ(๐œ‘1,๐‘Ÿ)๐œ‘1,๐‘Ž] ๐‘‡ ๐œ”๐‘’. (3-35) Encouragingly, Eq. 3-35 is of the same form as Eq. 3-33. Thus, it follows that the PRT for the overall first-step potential is ฮฆ( ๐œ‘1) = ๐œ‘1,๐‘Ÿฮฆ(๐œ‘1,๐‘Ž) + ๐œ‘1,๐‘Žฮฆ(๐œ‘1,๐‘Ÿ). (3-36) As in the uncontrolled case, the control solution can be determined by ensuring the negative definiteness of Eq. 3-35. Once more adopting the positive definite gain matrix ๐พ1 from Eq. 3-9, this form was taken to be ๐œ” ๐‘’,๐‘‘ = โˆ’๐พ1ฮฆ( ๐œ‘1). (3-37) Note that in the case of no repulsive potentials (i.e. the unconstrained case), Eq. 3-36 reduces to Eq. 3-34, and thus Eq. 3-37 reduces to Eq. 3-10. Ergo, Eq. 3-37 represents the generalized angular velocity error โ€“ computing its value requires only that we compute the gradients with respect to orientation for each repulsive potential. As with the unconstrained case, this intermediate control solution determines the desired angular velocity error. Determining the โ€œtrueโ€ control solution requires the general implementation of second stage repulsive potentials. We therefore expect such a solution to reduce to Eq. 3-19 in the special case of no repulsive potentials.
  • 49. 49 Second Stage Repulsive Potential Recall that the TD1 of the desired angular velocity error appears in Eq. 3-15 as part of the feed forward vector ๐’ป๐‘’. Differentiating Eq. 3-37, we find that ๐œ”ฬ‡ ๐‘’,๐‘‘ = โˆ’๐พ1ฮฆฬ‡ ( ๐œ‘1), thus requiring us to differentiate Eq. 3-36: ฮฆฬ‡ ( ๐œ‘1) = 1 2 [ฮฆ(๐œ‘1,๐‘Ÿ)ฮฆ ๐‘‡(๐œ‘1,๐‘Ž) + ฮฆ(๐œ‘1,๐‘Ž)ฮฆ ๐‘‡(๐œ‘1,๐‘Ÿ)]๐œ”๐‘’ + [๐œ‘1,๐‘Ÿฮฆฬ‡ (๐œ‘1,๐‘Ž) + ๐œ‘1,๐‘Žฮฆฬ‡ (๐œ‘1,๐‘Ÿ)]. (3-38) The PRTs in Eq. 3-38 are all determined. However, their rates in the second term must be determined by differentiating Eq. 3-32 evaluated at ๐œ‘ = ๐œ‘1,๐‘Ÿ and ๐œ‘ = ๐œ‘1,๐‘Ž. An important consequence of this is that a gradient appearing in Eq. 3-32 will be differentiated into what is known as a Hessian matrix ๐ป๐‘– (๐“…), which is defined as ๐ป๐‘– (๐“…) โ‰ โˆ‡โˆ‡ ๐“…( ๐œ‘๐‘–) โ‰ ๐œ• ๐œ•๐“… ๐‘”๐‘– (๐“…). (3-39) Proofs 4 and 5 in Appendix B show the TD1s of the first-stage repulsive and attractive PRTs to be respectively evaluated to ฮฆฬ‡ (๐œ‘1,๐‘Ÿ) = [ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘„1 (๐‘žฬ‡ ๐‘“) + ฮž ๐‘‡ (๐‘žฬ‡ ๐‘’) ๐‘„1 (๐‘ž ๐‘“)] ๐‘”1,๐‘Ÿ (๐‘ž) + ฮž ๐‘‡ (๐‘ž ๐‘’) ๐‘„1 (๐‘ž ๐‘“) ๐ป1,๐‘Ÿ (๐‘ž) ๐‘žฬ‡ (3-40) and ฮฆฬ‡ (๐œ‘1,๐‘Ž) = 1 2 (๐•€ โˆ’ 2๐œ€ ๐‘’ ๐œ€ ๐‘’ ๐‘‡ ) ๐œ” ๐‘’ โˆ’ ฮž ๐‘‡ (๐‘žฬ‡ ๐‘’) ๐‘ž ๐‘’ โˆ’1 . (3-41) From Eqs. 3-40 and 3-41 follows the total PRT rate from Eq. 3-38, and thus the rate of the desired angular velocity error. Therefore, with knowledge about angular velocity and acceleration of the tracking coordinate frame (information which would be specified by mission controllers), the feed forward vector from Eq. 3-15 is known!
  • 50. 50 However, the feed forward vector is only part of what is necessary to compute the control solution. We have still yet to define the total second stage potential, or the repulsive potentials it is comprised from. It stands to reason that the second stage attractive potential defined ๐œ‘2,๐‘Ž does not change from the unconstrained case in Eq. 3-11, since repulsive potentials do not affect the relative state. Therefore, if we choose the multiplicative relation between the attractive potential and repulsive potential as defined in Eq. 3-22, then the total second stage potential can be written as ๐œ‘2 = 1 2 ฮ”๐œ”๐‘’ ๐‘‡(ฮ”๐œ”๐‘’ ๐œ‘2,๐‘Ÿ), (3-42) where ๐œ‘2,๐‘Ÿ is the total second stage repulsive term of the form defined in Eq. 3-22. Since the second stage potentials control the angular velocity of the spacecraft, it stands to reason that angular velocity will be one of the arguments. Perhaps less intuitive is the dependence on orientation, which is not required for most applications, but should be accounted for nonetheless. Unsurprisingly, the control solution is embedded within the TD1 of Eq. 3-42. Direct differentiation by way of product rule yields ๐œ‘ฬ‡2 = ฮ”๐œ”๐‘’ ๐‘‡ (ฮ”๐œ”ฬ‡ ๐‘’ ๐œ‘2,๐‘Ÿ + 1 2 ฮ”๐œ”๐‘’ ๐œ‘ฬ‡2,๐‘Ÿ), (3-43) where ฮ”๐œ”ฬ‡ ๐‘’ contains the known feed forward vector and ๐œ”ฬ‡ (which in turn contains the control solution ๐œ). Evaluating the TD1 of ๐œ‘2,๐‘Ÿ by chain rule, it follows that ๐œ‘ฬ‡2,๐‘Ÿ = ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)๐œ”ฬ‡ + 1 2 ๐‘”2,๐‘Ÿ ๐‘‡ (๐‘ž)ฮž (๐‘ž) ๐œ”, (3-44) where ๐‘” is the gradient vector defined in Eq. 3-28.
  • 51. 51 Recall that, as a consequence of Eq. 3-22, ๐‘”2,๐‘Ÿ(๐œ”) = โˆ‘ ๐‘๐‘– ๐‘”2,๐‘Ÿ,๐‘–(๐œ”) ๐‘ ๐‘–=1 ; (3-45a) ๐‘”2,๐‘Ÿ (๐‘ž) = โˆ‘ ๐‘๐‘– ๐‘”2,๐‘Ÿ,๐‘– (๐‘ž) ๐‘ ๐‘–=1 . (3-45b) Note that the striking similarity of Eqs. 3-45a and b to Eqs. 3-29a through c, thus indicating that the methodology for these second stage potentials will be similar to that for the first stage potentials. This is true, to a point. Since all first stage potentials were functions of orientation, they could be consolidated into one quantity โ€“ the PRT vector. However, because there is no integral relationship between angular velocity and orientation, there is no analogous โ€œtrickโ€ for the second stage potentials. Therefore, we must proceed with direct substitution of Eq. 3-44 into Eq. 3-43: ๐œ‘ฬ‡2 = ฮ”๐œ”๐‘’ ๐‘‡ {ฮ”๐œ”ฬ‡ ๐‘’ ๐œ‘2,๐‘Ÿ + 1 2 ฮ”๐œ”๐‘’ [๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)๐œ”ฬ‡ + 1 2 ๐‘”2,๐‘Ÿ ๐‘‡ (๐‘ž)ฮž (๐‘ž) ๐œ”]}. (3-46) Further substitution of Eq. 3-14 into Eq. 3-46 allows us to fully separate terms containing ๐œ”ฬ‡ from those containing ๐œ” and ๐‘ž: ๐œ‘ฬ‡2 = ฮ”๐œ”๐‘’ ๐‘‡ {[๐œ‘2,๐‘Ÿ ๐•€ + 1 2 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)] ๐œ”ฬ‡ + [ 1 4 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐‘ž) ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’]}. (3-47) Recall that the torque vector ๐œ parameterized in the body frame is related to ๐œ”ฬ‡ by Eulerโ€™s equation for rotational motion (Eq. 3-16). As with the first stage, we once more reclaim a positive definite gain matrix from the unconstrained case to create a form for ๐œ‘ฬ‡2 that is negative definite. In this case, equating Eq. 3-18 with Eq. 3-47 yields โˆ’๐พ2ฮ”๐œ” ๐‘’ = [๐œ‘2,๐‘Ÿ ๐•€ + 1 2 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)] ๐œ”ฬ‡ + [ 1 4 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐‘ž)ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’]. (3-48)
  • 52. 52 Note that the common factor of ฮ”๐œ” ๐‘’ ๐‘‡ has removed from both sides, thus ignoring the trivial case where ฮ”๐œ”๐‘’ = 0 (which implies convergence has occurred anyway). Thus, the left-hand side of Eq. 3-48 is representative of the negative definite form of ๐œ‘ฬ‡2, while the right-hand side is the physical expression containing the control solution. To solve for the torque vector, we must first solve for ๐œ”ฬ‡ . Consolidating the terms of Eq. 3-48, we find that โˆ’ [๐œ‘2,๐‘Ÿ ๐•€ + 1 2 ฮ”๐œ” ๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)] ๐œ”ฬ‡ = 1 4 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐‘ž)ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’ + ๐พ2ฮ”๐œ” ๐‘’. (3-49) Solving for the control solution requires the inversion of [๐œ‘2,๐‘Ÿ ๐•€ + 1 2 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)], for which we make use of the Kailath Variant of The Woodbury Identity provided in [13]: [๐œ‘2,๐‘Ÿ ๐•€ + 1 2 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)] โˆ’1 = 1 ๐œ‘2,๐‘Ÿ [๐•€ โˆ’ ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”) 2๐œ‘2,๐‘Ÿ + ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)ฮ”๐œ”๐‘’ ]. (3-50) Thus applying Eq. 3-50 to Eq. 3-49, and rewriting ๐œ”ฬ‡ in terms of ๐œ (in accordance with Eulerโ€™s equation of rotational motion), we find that the control solution is given by ๐œ = ๐œ”ร— ๐•๐œ” โˆ’ 1 ๐œ‘2,๐‘Ÿ ๐• [๐•€ โˆ’ ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”) 2๐œ‘2,๐‘Ÿ + ๐‘”2,๐‘Ÿ ๐‘‡ (๐œ”)ฮ”๐œ”๐‘’ ] [ 1 4 ฮ”๐œ”๐‘’ ๐‘”2,๐‘Ÿ ๐‘‡ (๐‘ž) ฮž (๐‘ž) ๐œ” + ๐œ‘2,๐‘Ÿ ๐’ป๐‘’ + ๐พ2ฮ”๐œ”๐‘’]. (3-51) Note that in the absence of repulsive APFs, the repulsive potential gradients become zero, and the magnitude of the total repulsive potential goes to one. It follows that Eq. 3-51 reduces precisely to Eq. 3-19: ๐œ = ๐œ”ร— ๐•๐œ” โˆ’ ๐• (๐พ2ฮ”๐œ”๐‘’ + ๐’ป๐‘’), (3-19) which is the control solution for the unconstrained case. This encouraging result indicates that we have indeed found an asymptotically stable solution for general constraints applied in the second stage.
  • 53. 53 Equation 3-51 belies a complex web of variables with many interdependencies and relationships โ€“ all of which are illustrated in Figure 3-3. Figure 3-3. Dependency chart for the generalized control solution. Although imposing, Figure 3-3 demonstrates one of the primary advantages of APF controls: There are no algorithms; no interpolation; and every dependency is expressed analytically and in closed-form. The advantage of this is that it makes computing a control solution quick and efficient, which may be desired over optimality.
  • 54. 54 CHAPTER 4 IMPLEMENTATION Notable Constraints The Pointing Constraint With the framework in place, we are now able to construct models for various constraints that are of concern to mission controllers. Of chief importance is the โ€œpointing constraintโ€ โ€“ an elegantly simple problem which has a readily apparent impact on the performance of real-world satellites in orbit. However, at this stage in our discussion of the problem, it may not be clear what is pointing where. A spacecraft may occupy any one of an infinite number of attitudes, and to simply say โ€œa satellite cannot point in a directionโ€ is unhelpful unless we can quantify what exactly that means. For the purposes of this document, consider a spacecraft to be a collection of body-fixed โ€œsensorโ€ vectors. These vectors may be representative of any direction fixed in the body-fixed coordinate frame โ€“ solar panels (barring the use of any rotational mechanisms to which they might be affixed); directional antennas; telescopes; star trackers; sun sensors; or arbitrary vectors defined as a point of reference are all valid examples of what could constitute a โ€œsensorโ€ in this context. All sensor vectors are implicitly of unit length; expressed in the body-fixed coordinate frame of the spacecraft; and denoted by the unit vector ๐‘ ฬ‚. Next, we define an inertially-fixed โ€œconstraintโ€ vector ๐‘‘ฬ‚ which is of unit length and expressed in the inertial coordinates frame. These vectors specify a direction corresponding to an attitude which mission controllers would either like to avoid, or
  • 55. 55 converge to. These constraint vectors will nearly always be accompanied by a constraint angle ๐›ฝ, representing a range of significant attitudes. Significant attitude ranges can be represented in space by a cone whose axis is parallel to ๐‘‘ฬ‚, and whose half-aperture angle is equal to ๐›ฝ. Furthermore, any sensor on the spacecraft may have a different set of significant attitude ranges associated with it, which may be either โ€œattitude forbiddenโ€ or โ€œattitude mandatory.โ€ For example, we may consider one of the body-fixed sensor vectors to represent a directional high-gain antenna that can only operate when aimed at an Earth-bound tracking station accurate to within some pre-defined margin of error. Conversely, the sensor vector may represent some light-sensitive piece of equipment, in which case we might require it to avoid pointing at the Sun, and even specifying an angular buffer zone about the inertially fixed body-sun vector. Despite these possibilities, for now we need only consider the case of a satellite with one body-fixed sensor vector and one corresponding attitude forbidden zone (or โ€œkeep-outโ€ cone). Single sensor โ€“ Single cone. Let ๐›พ represent the angle between the cone axis ๐‘‘ฬ‚ and the sensor vector ๐‘ ฬ‚. The sensor will consequently never enter the attitude forbidden region if ๐›พ is never allowed to become less than or equal to ๐›ฝ. Mathematically, this constraint can be expressed as ๐›ฝ < ๐›พ (4-1) which, while compact, does not clearly demonstrate a dependence on the orientation state ๐‘ž. With the benefit of foresight, we may evaluate the cosine of Eq. 4-1 (keeping in mind that the inequality relationship between ๐›พ and ๐›ฝ will be inverted), yielding cos ๐›ฝ โˆ’ cos ๐›พ > 0. (4-2)
  • 56. 56 Recall that ๐‘ ฬ‚ โˆ™ ๐‘‘ฬ‚ = cos ๐›พ, since both ๐‘ ฬ‚ and ๐‘‘ฬ‚ are unit vectors. However, the equivalent matrix representation ๐‘ ฬ‚ ๐‘‡ ๐‘‘ฬ‚ is only valid if ๐‘ ฬ‚ and ๐‘‘ฬ‚ are expressed in the same basis. If we first rotate ๐‘‘ฬ‚ into the body frame, then we may rewrite Eq. 4-2 as cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ > 0, where ๐‘… ๐‘ž = (๐œ‚2 โˆ’ ๐œ€ ๐‘‡ ๐œ€)๐•€ + 2๐œ€๐œ€ ๐‘‡ โˆ’ 2๐œ‚๐œ€ร— (4-3) is the DCM representing the rotation represented by the quaternion ๐‘ž. If the goal is to create a โ€œbarrierโ€ at the edge of the keep-out cone, then the repulsive APF should take the form ๐œ‘1,๐‘Ÿ,point = 1 cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ (4-4) which tends towards infinity as ๐›พ approaches ๐›ฝ. Recall from our discussion in Chapter 3 that, in order to implement a constraint at the first stage, we must first determine its gradient (first derivative) and Hessian (second derivative) with respect to ๐‘ž. This can be done by applying chain rule to Eq. 4-4, yielding ๐œ•๐œ‘1,๐‘Ÿ,point ๐œ•๐‘ž = ๐œ• ๐œ•๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ( 1 cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ) ๐œ• ๐œ•๐‘ž (๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚) (4-5) where ๐œ• ๐œ•๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ( 1 cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ) = 1 (cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚) 2 (4-6) and ๐œ• ๐œ•๐‘ž (๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚) = 2๐‘ž ๐‘‡ [ ๐‘‘ฬ‚ ๐‘ ฬ‚ ๐‘‡ + ๐‘ ฬ‚ ๐‘‘ฬ‚ ๐‘‡ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘‘ฬ‚ ๐•€ ๐‘ ฬ‚ร— ๐‘‘ฬ‚ (๐‘ ฬ‚ร— ๐‘‘ฬ‚) ๐‘‡ ๐‘ ฬ‚ ๐‘‡ ๐‘‘ฬ‚ ] โ‰ 2๐‘ž ๐‘‡ ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚). (4-7)
  • 57. 57 Verification of Eq. 4-7 is provided in proof 4 of Appendix A. As a point of interest, ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚) is a constant, symmetrical matrix function of the geometry between the satelliteโ€™s sensor vectors the inertial attitude vectors. Note that the vector ๐‘‘ฬ‚ appearing in Eq. 4-7 is still parameterized in the inertial frame. Thus, the gradient is computed by substituting Eqs. 4-6 and 4-7 into Eq. 4-5: ๐‘”1,๐‘Ÿ,point (๐‘ž) = 2ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚)๐‘ž (cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚) 2. (4-8) The Hessian matrix for the direct pointing constraint potential is computed by differentiating Eq. 4-8. The process is shown in proof 5 of Appendix A shows the derivation, yielding the result ๐ป1,๐‘Ÿ,point (๐‘ž) = 2ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚) (cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚) 2 [๐•€ + 4๐‘ž๐‘ž ๐‘‡ ฮ›(๐‘ ฬ‚, ๐‘‘ฬ‚) cos ๐›ฝ โˆ’ ๐‘ ฬ‚ ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ]. (4-9) Given the framework derived in Chapter 3, the outputs of Eqs. 4-8 and 4-9 are enough to compute the control solution. However, recall that this only applies for the case of one sensor and one keep-out cone. Variations on the constraints presented in Eqs. 4-1 and 4-2 are also of interest. For example, consider the inverse case of an attitude mandatory zone. In such a case, the constraint from Eq. 4-1 becomes reversed, thus yielding ๐›ฝ > ๐›พ. (4-10) Note that, like Eq. 4-1, Eq. 4-10 can be equivalently stated in terms of angle cosines: cos ๐›พ โˆ’ cos ๐›ฝ > 0. Thus, it can be seen that the APF corresponding to this constraint โ€“ and, by extension, its gradient and Hessian โ€“ are the negatives of Eqs. 4-4, 4-8, and 4-9 respectively.
  • 58. 58 Multiple sensors โ€“ Multiple cones. In general, it cannot be assume that a satellite contains a single body-fixed sensor vector. Nor can it be assumed that the mission will only contain one attitude range of significance. Therefore, in general we may need to consider a system of ๐‘ sensor vectors and ๐‘€ constraint regions. For simplicity, we will assume none of the constraint regions intersect, but if they did then it may serve us well to model them as a single constraint region anyway. It is convenient to store this information in matrix form, making it easily read by linear algebra systems such as MatLabยฎ . The matrices containing sensor and cone data could, for example, be respectively formatted: ๐‘ ๐‘™๐‘–๐‘ ๐‘ก = [ ๐‘ ฬ‚1 ๐ต ๐‘ ฬ‚2 ๐ต ๐‘ ฬ‚3 ๐ต โ‹ฏ ๐‘ ฬ‚๐‘– ๐ต โ‹ฏ ๐‘ ฬ‚ ๐‘ ๐ต ] โˆˆ โ„3ร—๐‘ , (4-11) ๐‘‘๐‘™๐‘–๐‘ ๐‘ก = [ ๐‘‘ฬ‚1 ๐ผ ๐›ฝ1 ๐‘‘ฬ‚2 ๐ผ ๐›ฝ2 ๐‘‘ฬ‚3 ๐ผ ๐›ฝ3 โ‹ฏ ๐‘‘ฬ‚ ๐‘— ๐ผ ๐›ฝ๐‘— โ‹ฏ ๐‘‘ฬ‚ ๐‘€ ๐ผ ๐›ฝ ๐‘€ ] โˆˆ โ„4ร—๐‘€ , (4-12) where the superscripts ๐ต and ๐ผ respectively denote body-fixed and inertially-fixed coordinate parameterizations. It is also useful to specify a constant โ€œmappingโ€ matrix, which defines the relationship each sensor has with the constraint regions. This would be useful in cases where some sensors may be permitted through constraint regions that others may not, or vice versa. For example, a sensor might be constrained to point towards Earth, yet there would be no reason why it could not be pointed at the sun. Conversely, a star tracker would be able to safely point towards the Earth, but it may be desirable to specify a constraint preventing it from being pointed towards the sun. Harkening back to the general constraint form from Eq. 3-22, the coefficients ๐‘๐‘–๐‘— which modify the repulsive potentials โ€“ each one representing the constraint imposed
  • 59. 59 on the ๐‘–th sensor by the ๐‘—th cone โ€“ must be positive if the relationship is attitude forbidden, negative if it is attitude mandatory, or zero if there is no attitude constraint. Expressed in matrix form, the mapping matrix ๐ถ is defined as ๐ถ โ‰ [ ๐‘11 ๐‘12 ๐‘21 ๐‘22 โ‹ฏ ๐‘1๐‘€ ๐‘2๐‘€ โ‹ฎ โ‹ฑ โ‹ฎ ๐‘ ๐‘1 ๐‘ ๐‘2 โ‹ฏ ๐‘3๐‘€ ] ; { ๐‘๐‘–๐‘— > 0 if forbidden ๐‘๐‘–๐‘— = 0 if no constraint ๐‘๐‘–๐‘— < 0 if mandatory . (4-13) The total pointing constraint potential and its derivatives can be found by summing over all indices ( ๐‘–, ๐‘—) in Eq. 4-13, then extracting ๐‘ ฬ‚๐‘– from Eq. 4-11 and ๐‘‘ฬ‚ ๐‘—, ๐›ฝ๐‘— from Eq. 4-12: ๐œ‘1,๐‘Ÿ,point = โˆ‘ ๐‘๐‘–๐‘— cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘– ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘— ๐‘,๐‘€ ๐‘–,๐‘—=1 ; (4-14) ๐‘”1,๐‘Ÿ,point (๐‘ž) = โˆ‘ 2๐‘๐‘–๐‘—ฮ›(๐‘ ฬ‚ ๐‘–, ๐‘‘ฬ‚ ๐‘—)๐‘ž (cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘– ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘—) 2 ๐‘,๐‘€ ๐‘–,๐‘—=1 ; (4-15) ๐ป1,๐‘Ÿ,point (๐‘ž) = โˆ‘ 2๐‘๐‘–๐‘—ฮ›(๐‘ ฬ‚๐‘–, ๐‘‘ฬ‚ ๐‘—) (cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘– ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘—) 2 [๐•€ + 4๐‘ž๐‘ž ๐‘‡ ฮ›(๐‘ ฬ‚๐‘–, ๐‘‘ฬ‚ ๐‘—) cos ๐›ฝ๐‘— โˆ’ ๐‘ ฬ‚๐‘– ๐‘‡ ๐‘… ๐‘ž ๐‘‘ฬ‚ ๐‘— ] ๐‘,๐‘€ ๐‘–,๐‘—=1 . (4-16) Recall that the outputs of Eqs. 4-14 through 4-16 determine the control solution. The Slew Rate Constraint Sometimes, it may be desirable to limit the rate at which a satellite rotates. There are many different reasons why mission controllers would want to do this. Chiefly, this constraint exists to prevent saturation of on-board angular momentum exchange devices. The constraint may also be in place to prevent mass-spring-damper type oscillations in nonrigid components (such as solar panels, omnidirectional antennae, or gravity gradient stabilization booms).
  • 60. 60 Limiting the slew rate requires the specification of a maximum allowable slew rate, effectively creating an envelope around the angular velocity domain. It follows that the slew rate constraint is, by definition, a second stage potential. The maximum slew rate is necessarily a scalar quantity, and so must be related to the instantaneous angular velocity by the dot product: ๐œ” ๐‘š๐‘Ž๐‘ฅ 2 โˆ’ ๐œ” ๐‘‡ ๐œ” > 0. (4-17) Just as with the pointing constraint, a barrier can be constructed at the constraint boundary by inverting the right-hand side of Eq. 4-17, thus yielding the slew rate potential ๐œ‘2,๐‘Ÿ,slew = 1 ๐œ” ๐‘š๐‘Ž๐‘ฅ 2 โˆ’ ๐œ” ๐‘‡ ๐œ” . (4-18) Unlike the first stage potentials, we do not need to take the Hessian of Eq. 4-18. Instead, we must take the gradient of it with respect to orientation (which yields a zero vector, since Eq. 4-18 has no dependency on orientation), and angular velocity. Applying chain rule to Eq. 4-4 yields ๐‘”2,๐‘Ÿ,slew = 2๐œ” ๐‘‡ ๐œ” ๐‘š๐‘Ž๐‘ฅ 2 โˆ’ ๐œ” ๐‘‡ ๐œ” . Early Avoidance While concise, the pointing constraint potential loses efficiency when the tracking frame will place the sensor on the opposite side of an attitude forbidden region. In such a situation, more control effort is expended reversing the direction of the sensor. In the edge case where the zero potential is on the exact opposite side of an attitude forbidden region, and there is no lateral component of angular velocity, the sensor will become mired in an unstable saddle point.
  • 61. 61 In almost every case, interference from other potentials will perturb the sensor from its saddle point. Even if there are no other potentials present, numerical uncertainty in the initial condition will almost certainly result in a lateral component of angular velocity. In light of this, it is tempting to disregard these saddle points. However, even if they do not permanently halt the progress of the satellite in its current maneuver, they will slow it down, or result in a longer path that would otherwise be achieved. One of the earliest objectives for this research was to avoid such attitude forbidden regions in advance by imparting lateral velocity as soon as it became apparent that an attitude forbidden region was incoming. This was accomplished by creating a pathway between two planes tangent to the keep-out cone, whose intersection contained the sensor vector itself. As long as the sensor continues to travel outside of this pathway, it will not enter the constraint region. Defining the pathway vectors. This method is based on the principle that a unit vector will only change by a direction that lies inside the plane normal to that unit vector. Placing this plane such that it contains the point at the head of ๐‘ ฬ‚ will yield a conic intersection where the plane crosses the attitude forbidden region. The constraint pathway is bounded by the tangents of the conic intersection as illustrated in Figure 4-1. Note that the vectors ๐‘‘ฬ‚1, ๐‘‘ฬ‚2, and ๐‘‘ฬ‚3, ๐‘ ฬ‚1, ๐‘ ฬ‚2, and ๐‘ ฬ‚3 in Figure 4-1 are defined differently from those in Eqs. 4-11 and 4-12. In this context they represent the basis vectors ๐’Ÿ and ๐’ฎ respectively, and are defined so as to simplify the parameterization of the conic tangent vectors.
  • 62. 62 Figure 4-1. Setup for the Early Avoidance pathway. The coneโ€™s axis of symmetry makes a logical choice for the first axis ๐‘‘ฬ‚1 in the ๐’Ÿ coordinate basis. However, being inertially fixed, it must be represented in the body coordinate frame. The second axis ๐‘‘ฬ‚2 is thus defined to be that orthogonal to ๐‘‘ฬ‚1 in the direction of the sensor vector ๐‘ ฬ‚, with the third axis ๐‘‘ฬ‚3 being the cross product of the first two. Thus, the basis vectors in the ๐’Ÿ coordinate system are defined as ๐’Ÿ โ‰ { ๐‘‘ฬ‚1 = โ„› ๐‘ž ๐‘‘ฬ‚ ๐‘‘ฬ‚2 = ๐‘‘ฬ‚1 ร— ๐‘ ฬ‚ร— ๐‘‘ฬ‚1 sin ๐›พ ๐‘‘ฬ‚3 = ๐‘‘ฬ‚1 ร— ๐‘‘ฬ‚2 . (4-19)
  • 63. 63 As a consequence of the way in which the cone-fixed basis vectors are defined, the first axis ๐‘ ฬ‚1 in the ๐’ฎ coordinate system is coincident with ๐‘‘ฬ‚3. Helpfully, this allows us to define the third axis ๐‘ ฬ‚3 to be identical to the sensor vector ๐‘ ฬ‚, with the cross product defining the second axis ๐‘ ฬ‚2. Thus, the basis vectors in the ๐’ฎ system are defined as ๐’ฎ โ‰ { ๐‘ ฬ‚1 = ๐‘‘ฬ‚3 ๐‘ ฬ‚2 = ๐‘ ฬ‚3 ร— ๐‘ ฬ‚1 ๐‘ ฬ‚3 = ๐‘ ฬ‚ . (4-20) Given the coordinate systems defined in Eqs. 4-19 and 4-20, the equation for the conic intersection of the sensor travel plane with the attitude forbidden region is ๐‘ฅ2 = โˆ’ ( cos 2๐›พ + cos 2๐›ฝ 1 + cos 2๐›ฝ ) ๐‘ฆ2 + 2 ( sin 2๐›พ 1 + cos 2๐›ฝ ) ๐‘ฆ + ( cos 2๐›พ โˆ’ cos 2๐›ฝ 1 + cos 2๐›ฝ ) (4-21) as shown in proof 6 of Appendix B. Note that ๐‘ฅ and ๐‘ฆ correspond to the distances between ๐‘ ฬ‚3 and a point on the conic intersection as measured along the ๐‘ ฬ‚1 and ๐‘ ฬ‚2 axes respectively. Equation 4-21 is โ€“ not surprisingly โ€“ symmetric about the ๐‘ ฬ‚2 axis. Let the vector ๐‘ฃ โ‰ ๐‘ฅ๐‘ ฬ‚1 + ๐‘ฆ๐‘ ฬ‚2 represent the position of a point on the conic intersection relative to ๐‘ ฬ‚3. Defining an angle ๐›ผ as the angle between ๐‘ ฬ‚2 and ๐‘ฃ, it follows from geometry that ๐›ผ will reach its maximum value at the point when ๐‘ฃ โ†’ ๐‘ฃ ๐‘ก where ๐‘ฃ ๐‘ก is tangent to the conic intersection. If the tangent coordinates in the sensor travel plane are defined as ๐‘ฅ = ๐‘ฅ ๐‘ก and ๐‘ฆ = ๐‘ฆ๐‘ก, then it follows from proof 7 of Appendix B that ๐‘ฅt = 1 sin 2๐›พ โˆš(cos 2๐›ฝ โˆ’ cos 2๐›พ)(1 โˆ’ cos 2๐›ฝ); ๐‘ฆ๐‘ก = cos 2๐›ฝ โˆ’ cos 2๐›พ sin 2๐›พ . (4-22) Recognizing that tan ๐›ผ = | ๐‘ฅ๐‘ก ๐‘ฆ๐‘กโ„ |, it follows from Eq. 4-22 that tan ๐›ผ = โˆš 1 โˆ’ cos 2๐›ฝ cos 2๐›ฝ โˆ’ cos 2๐›พ . (4-23)
  • 64. 64 The double conic problem. An interesting yet unintended consequence of the conic section in Eq. 4-21 is the symmetry that exists about the plane normal to the cone axis โ€“ i.e. when plotting Eq. 4-22, one can see a discontinuity as the tangent point jumps to the lower branch of the conic section (a cone equal in size but opposite in direction of the keep-out cone being analyzed). Figure 4-2 illustrates this phenomenon: Figure 4-2. An illustration of the double conic problem. Note that the origin represents the sensor axis ๐‘ ฬ‚3, and the red dot represents the cone axis ๐‘‘ฬ‚1. Ideally, tan ๐›ผ would approach zero as ๐›พ approaches the safety angle ๐›พ๐‘  (as shown in Figure 4-1), which would result in a โ€œleading edgeโ€ of the potential as the sensor crossed into the region where it is in danger of crossing into the keep-out cone. However, Figure 4-2 demonstrates that no such tangent actually exists. Therefore, in order to enforce the desired behavior, we project the tangent point from the lower branch of the hyperbola onto the upper branch with a compensating logic term โ„“: โ„“ = ๐‘š ( sin2 2๐›ฝ โˆ’ sin2 2๐›พ sin2 2๐›ฝ + sin2 2๐›พ ) ๐‘› (4-24a)
  • 65. 65 where ๐‘› = { 0 if ๐›พ โ‰ค ๐œ‹ 2 1 if ๐›พ > ๐œ‹ 2 ; ๐‘š = { 0 if ๐›พ โ‰ฅ ๐›พ๐‘  1 if ๐›พ < ๐›พ๐‘  . (4-24b) The conditions in Eqs. 4-24a and b are derived in proof 8 of Appendix B. Note that the safety angle ๐›พ๐‘  depends on the value of ๐›ฝ. When ๐›ฝ โ‰ค ๐œ‹ 4 , then the tangent point projection represented by Eq. 4-24a is valid for any ๐›พ < ๐›พ๐‘  = ๐œ‹ 2 + ๐›ฝ. Note, however, that when ๐›ฝ โ‰ฅ ๐œ‹ 4 , then the projection is only valid when the sensor is between both branches of the conic intersection (which will be hyperbolic over this part of the domain. We are able to express both possibilities compactly by taking the minimum value to be the true safety angle: ๐›พ๐‘  = min ( ๐œ‹ 2 + ๐›ฝ, ๐œ‹ โˆ’ ๐›ฝ) The compensating term in Eqs. 4-24a and b serves to divide the domain of gamma into three sectors, thus constructing a piece-wise expression for tan ๐›ผ that demonstrates the behavior we are looking for. The three sectors are summarized in Table 4-1, and the range of values over which โ„“ varies is graphed in Figure 4-3. The compensated tangent value can be obtained by multiplying the uncompensated value from Eq. 4-23 to the logic term of Eq. 4-24a, thus yielding tan ๐›ผ = ๐‘š ( sin2 2๐›ฝ โˆ’ sin2 2๐›พ sin2 2๐›ฝ + sin2 2๐›พ ) ๐‘› โˆš 1 โˆ’ cos 2๐›ฝ cos 2๐›ฝ โˆ’ cos 2๐›พ (4-25) Plotting the modified pathway vectors using Eq. 4-25 demonstrates that the new logic term does indeed solve the double conic problem, as shown in Figure 4-4.
  • 66. 66 Table 4-1. Values of the logic term โ„“ across the three sectors of the gamma domain. ๐›พ (Range as Inequality) ๐‘š ๐‘› โ„“ min ( ๐œ‹ 2 + ๐›ฝ, ๐œ‹ โˆ’ ๐›ฝ) โ‰ค ๐›พ โ‰ค ๐œ‹ ๐‘š = 0 ๐‘› = 1 โ„“ = 0 ๐œ‹ 2 < ๐›พ < min ( ๐œ‹ 2 + ๐›ฝ, ๐œ‹ โˆ’ ๐›ฝ) ๐‘š = 1 ๐‘› = 1 โ„“ = sin2 2๐›ฝ โˆ’ sin2 2๐›พ sin2 2๐›ฝ + sin2 2๐›พ 0 โ‰ค ๐›พ โ‰ค ๐œ‹ 2 ๐‘š = 1 ๐‘› = 0 โ„“ = 1 Figure 4-3. Example of variation in the logic term โ„“ over the domain ๐œ‹ 2 < ๐›พ < ๐›พ๐‘ . Figure 4-4. Results of applying the logic term โ„“ to the double conic problem. 1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2 2.05 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Logic Term Values Between ๏ฐ/2 and ๏ฐ/2+๏ข (๏ข = ๏ฐ/6) ๏ง [rad] logictermvalue[-]