This document develops a general framework for a two-staged artificial potential controller. The framework evaluates control solutions from arbitrary combinations of constraints expressed as potential functions.
Separating control into attitude/orientation and angular velocity stages decouples these states. The first stage determines required angular velocity. The second computes torque to reach the desired state.
The framework adds constraints to control solutions with unprecedented ease and efficiency. A key example is the "pointing constraint problem" - a classic attitude control problem. Simulations demonstrate the framework's ability to perform constrained maneuvers while avoiding constraint boundaries.
Future research is needed to fully implement second-stage potentials and address issues like local extrema. Solving such problems could make artificial
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
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[-]