determining optimal impulsive orbital maneuvers for collision avoidance
TRANSCRIPT
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 1/31
Kyle Bridgeo
December 13, 2012
Abstract
Collision avoidance is a growing problem in today’s space environment. Whether from offensive attack or
inadvertent something, high value space assets must have the ability to maneuver to minimize conjunction
risk. Optimizing these maneuvers is important in maximizing mission life and utility. This report uses
probabilistic methods to develop a framework of optimal orbital maneuvers in the context of mission analysis.
Impulsive maneuvers are developed to route an object away from collision and back to it’s nominal state
while minimizing collision risk. Analysis of these results shows a strong exponential relationship between the
change in velocity required to perform these maneuvers and the probability of conjunction.
Contents
1 Introduction
1.1 Background
1.2 Fundamental Concepts
1.2.1 Orbit Determination and Covariance Matrix Generation[10]
1.2.2 Lambert’s Problem[10]
2 Problem of Interest
2.1 Importance to Astrodynamics
2.2 Literature Search
3 Development and Analysis of Solution Method[2]
4 Extension and Analysis
5 Conclusions
MATLAB Code
1 Introduction
On January 11, 2007 the People’s Liberation Army (PLA) of China demonstrated a capability that shocked the
international community. Claiming the test was to destroy the defunct weather satellite, Fengyun-1C, the PLA
conducted their first successful test of an anti-satellite (ASAT) weapon against a nationally owned asset. This
action brought two major threats facing America’s space borne assets to the front page. The first, and the most
discussed, is the growing amount of debris in orbit about the earth. The second is the threat of a directed
offensive attack against these assets. Both of these threats can be re-cast as problems of collision
avoidance.[6]
1.1 Background
The accumulation of space debris (or space junk) began on October 4, 1957 with the launch of Sputnik 1 by
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 2/31
the Soviet Union. This event marked the beginning of the space age and what would become a rapid
accumulation of space borne debris over the next 50 years. Space borne debris can be defined as man-made
objects, serving no useful purpose, in orbit around he Earth. The SSN is the main body for tracking this debris
and aims to track all man made objects 10 cm in size and greater. Currently, the SSN is tracking
approximately 16,000 objects using 20 sensor platforms located around the world. Of these 16,000 objects,
3,218 are a direct result of the 2007 ASAT weapons test conducted by China. Figure 1 shows the known orbits
of this debris one month after the intercept event. Figure 2 shows the steady growth of space debris over time
since the launch of Sputnik I. The increase in orbital debris as a result of China’s ASAT weapons test canclearly be seen in 2007. Given the orbital velocities of this space debris, it’s threat to functioning satellites and
manned systems is clear. Since 1999 the International Space Station has had to conduct 15 collision avoidance
maneuvers. Four of these maneuvers were conducted in 2011 and 2012 alone - one specifically for debris
from China’s ASAT weapons test.[6, 8, 7]
Figure 1: Known orbital debris orbits resulting from 2007 Chinese ASAT weapons test, 1 month after
event[1]
Figure 2: Cumulative amount of orbital debris tracked by the Space Surveillance Network[8]
The current C4ISR (command, communications, control, computers, intelligence, surveillance,
reconnaissance) structure of the United States military is strongly rooted in the use of space borne assets.
These assets provide intelligence to denied regions, create a closed command and control structure and
provide secure communications from decision makers down to the war fighter. A directed attack against these
assets could prove devastating to this structure. Given the predictability of the position of space systems and
their low self-defense capabilities, an initial attack on these assets in the event of war with a large foreign
power is almost assured. Few countries have or have proven this capability but in 2007, China joined the short
list. The ASAT weapon used by China in this test was what is known as a kinetic kill vehicle. The payload is a
ballistic mass intended to completely shatter the target satellite rather than the traditional missile payload
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 3/31
intended to use explosive energy to destroy it’s target. The need for avoidance of this type of event is clear.[6]
Whether the issue be conjunction between a functioning satellite and space debris or a directed missile
attack, the problem is solved with the same methodology. In each case, collision avoidance maneuvers must
be assessed and designed to minimize the possibility of a collision event.
1.2 Fundamental Concepts
1.2.1 Orbit Determination and Covariance Matrix Generation[10]
Properly assessing collision avoidance must first be rooted in probabilistic methods. Specifically the question
of if a conjunction event is possible, given the ephemeris of two objects, must be answered. There are three
main elements to this problem. They are the nominal orbit of the both objects, the covariance matrix of both
objects and the time to the minimum relative distance between the two objects.
Presumably, the problem starts with position measurements of each object, obtained via ground tracking
stations. We will call the asset which we are trying to preserve the primary object and the threat to that asset
the secondary object. The tracking system for these objects will be radar or laser based. As the measurements
of position of a space object are susceptible to noise and bias error, the exact position of an object cannot bedetermined. However, the noise and bias error of most tracking systems is known. Using these estimates a
weighted least squares type approach can be used to determine covariance matrix and a simple averaging
technique utilizing an orbit propagator can be used to determine the nominal state vector (position and
velocity) of the satellite at a defined time. First, to determine this nominal state vector, each measurement is
transformed to ECI coordinates and propagated to the time of interest creating a new state vector for each
measurement, X io. Most likely, the sate is propagated to time of the first or last measurement of the object’s
state, t o. Each of these new states, is averaged to form the nominal state,
The covariance matrix associated with each object is obtained using the estimated noise error of each
measurement and the raw measurement data. In order to implement a weighted least squares type solution
numerically, the covariance matrix must be formed using a differential correction method. Specifically, the
covariance matrix is found using,
where A is partial derivative matrix relating change in measurement coordinates to change in positional
coordinates for each measurement and W is a weighing matrix that weights measurement data based on
known error sources. For instance, if the tracking system is defined in the topocentric coordinate system, then
,
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 4/31
where σ j
is the 1σ estimated error associated with the tracking measurement in the j direction. The
estimation of A for each measurement is more complex. For instance, if the tracking measurements are in the
topocentric frame and position is to be determined in the ECI frame, A takes the form,
Finite differencing can be used to estimate this matrix numerically. In principle, small differences in the
state are used to determine their effect of the system. For each observation, the nominal state is propagated
forward to the observation time and the required values in the measurement coordinate system are found.
Separately each component of nominal state vector is varied by some small amount to create six new states.
These states are propagated forward to the measurement time and the required values in the measurement
coordinate system are found. From here solutions for each partial derivative can be found. For example,
where ρmod,t
is the value in the measurement coordinate system for the state vector with a modified r Io
component propagated to the measurement time, t , ρnom,t
is the value in the measurement coordinate system for
the nominal state vector at measurement time, t , and δiis the amount by which r
Iowas modified to form ρ
mod,t .
AT WA can be accumulated across each measurement and then inverted to find the system covariance. For a
system with N states, the covariance matrix will be N × N .
Finally if we define a residual matrix, , defined as the difference between the nominal state vector
propagated the the measurement time and the observation at the measurement time, then we can usedifferential correction to refine both the state estimates and the covariance estimates.
With a good estimate of covariance for the primary and secondary object, the error ellipsoid about each
object can be determined. This ellipsoid is centered on the nominal location of the object with dimensions
determined from the eigenvalues and eigenvectors of the matrix of positional variances and covariances
contained within the system level covariance matrix. If, for instance, the nominal state vector defined in the
ECI coordinate frame were,
then the matrix of positional variances and covariances would be defined as the upper left, 3 × 3,
’sub-matrix’ contained within the system covariance matrix. In this case, the three eigenvector/eigenvalue
pairs formed by this ’sub-matrix’ would define the orientation and magnitude (root of the respective
eigenvalue) of the 1σ error in each ECI coordinate direction centered on the object.
Now for each object, we have a defined error ellipsoid in which the object’s position can be determined
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 5/31
with some defined degree of confidence. This error ellipsoid is a key concept in determining and
understanding the probability of conjunction between two bodies. The concepts presented in this section will
be referenced later in the context of of conjunction probability.
1.2.2 Lambert’s Problem[10]
Lambert’s Problem is the problem of two position vectors and the orbital path between them. Solutions to
Lambert’s problem are extremely useful in orbital transfer and maneuvering as there is no requirement onwhich orbital elements can be varied, it simply determines the available orbital paths between two points in
space. Solutions to Lambert’s problem are infinite, but minimum energy, minimum time or minimum Δv
solutions can be found and implemented. This characteristic of solutions to Lambert’s problem make them
ideal for optimization of orbital transfers. A solution to Lambert’s problem will be required to determine an
optimal solution to the collision avoidance problem that follows.
There are many solutions methods for Lambert’s problem, but the one utilized here will be Battin’s
Method. Most solutions to Lambert’s problem require convergence of some value (solution dependent) to
work properly. This is not always guaranteed, except in the case of Battin’s method through the use of
continued fractions, making the method robust and computationally efficient. A pre-developed routine was
used through this report to determine Battin Method transfers. This routine was developed by David Vallado
and is freely available online.
2 Problem of Interest
The primary objective in optimizing an orbital maneuver is to minimize the required fuel expenditure. In the
context of collision avoidance this must also be balanced with the conjunction probability. The problem of
optimizing these parameters into a succinct framework for choosing avoidance maneuvers is the main goal of
this report. The mission requirements and capabilities will vary from system to system, but the overall
framework should remain the same. After mission analysis to determine the positional uncertainty and
acceptable conjunction risk, the question can be asked, what orbital maneuvers best balance minimizing bothfuel consumption and achieving an acceptable conjunction probability?
2.1 Importance to Astrodynamics
The determination of optimal collision avoidance maneuvers is a problem of astrodynamics at it’s core. All
aspects of this problem are formulated using concepts of astrodynamics, from orbit determination of space
based bodies to determination of conjunction probability to developing maneuvers. The optimization of this
problem is necessary for increasing mission life and enhancing mission capability while reducing program
risk and can only be done using the principles of astrodynamics
2.2 Literature Search
Astrodynamics literature is rich with research defining the conjunction probability problem. The basic
formulation of the probability distribution describing conjunction risk is rooted in Gaussian probability theory
and the principle of covariance. Authors such as Alfano[2], Chan[4], Patera[9] and Foster[5] have written
extensively on the subject. Alfano, Patera and Foster each developed numerical solution techniques to the
conjunction probability problem. Foster developed a method that reduces the 3 dimensional probability model
to 2 dimensions, redefines the problem in polar coordinates and numerically evaluates conjunction risk. This
method has been used by NASA for defining conjunction risk since it’s development. Patera further reduced
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 6/31
to problem to 1 dimension and numerically solved the resulting line integral. Finally, Alfano developed a
method for determining the maximum probability of conjunction using the 2 dimensional problem along with
a fourth order approximation of the resulting double probability integral. Further refinements have been made
over the years to increase computational efficiency of these numerical methods along with a proposed
analytical solution developed by Chan. Generally this research leaves to the user the definition of collision
avoidance maneuvers, which is where this report will pick up.[3]
3 Development and Analysis of Solution Method[2]
Developing the probability of conjunction between a primary and secondary object begins with the covariance
matrices developed in Section 1.2.1. The relative velocity between the two objects is assumed to be linear at
the point of closest approach, a reasonable assumption given the large magnitude of the orbital velocities and
low magnitude of orbital accelerations. Assuming the covariance matrix for each object is in the same
coordinate frame and are uncorrelated, these matrices can be combined to form one covariance matrix
associated with the primary object. An error ellipsoid is formed from this ’system’ covariance matrix,
centered on the primary object, as in Section 1.2.1. The secondary object passes quickly through this ’system’
error-ellipsoid. At this point, the parameter, OBJ , should be discussed. This is the parameter that accounts for
the size and all possible orientations of each object in the determination of conjunction probability. This is
what is known as the combined hard-body radius. Each individual object has it’s own hard-body radius that
can be thought of as the radius of the sphere formed by sweeping the object through all possible orientations.
The combined hard-body radius is simply the addition of the individual hard-body radii. This combined
hard-body radius is what sweeps through the system level error ellipsoid forming a tube-shaped path. Figure 3
is a visualization of this event.
Figure 3: System level error ellipsoid where a combined hard-body radius sphere has swept through
following the path of a secondary object. The ellipsoid is centered on the primary object.[2]
In order to simplify this problem, an encounter plane can be defined within the error ellipsoid with a
normal vector defined along the relative velocity vector of the two objects and centered on the primary object.
The intersection of the encounter plane and error ellipsoid will be the error ellipse. The spot where the
secondary object passes through the error ellipse will also be it’s point of closest approach to the primary
object. If a position on the two dimensional error ellipse is defined as the cumulative probability of
conjunction as the secondary object passes through the error ellipsoid and not just a ’snapshot’ of the
probability of conjunction at one instance, then the probability of conjunction between the primary and
secondary objects is,
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 7/31
Here, x lies along the minor axis of the error ellipse, y lies along the major axis of the error ellipse, σ is the
standard deviation for each respective coordinate and is the location of the secondary object in the
encounter plane.
Solutions to this problem are not trivial and generally utilize a numerical approach. Alfano put forward
one such approach which assumes knowledge of the minimum distance, dist , of approach between the two
objects and the aspect ratio, AR, of the x and y direction standard deviations where,
Using these values, we can redefine the location of the secondary object on the error ellipse as shown in
Figure 4.
Figure 4: Definition of coordinates of secondary object with respect to the error ellipse[2]
Using the (dist,θ ) coordinate system and substituting σ x AR for σ
y, the probability of conjunction can be
redefined as,
In order to formulate an expression for the maximum probability of conjunction for the given scenario,Alfano goes on to set the derivative of this expression with respect to θ equal to zero. These instances occur
when the parameter, dist , is defined along the y axis, or major axis, of the error ellipse. If this result is then
utilized to find the σ x
that maximizes probability, the final formulation gives an expression for the maximum
probability of conjunction in the face of positional uncertainty. The encounter geometry is effectively replaced
with the geometry and positional error that maximize the probability of conjunction for a given scenario. This
assumption, going forward, will yield the worst case conjunction scenario. P MAX
is then,
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 8/31
where a good first order approximation for the minor axis standard deviation which maximizes this
expression, σ x,max
, is,
A fourth order approximation of the maximum probability follows as,
An important note is that this method assumes the primary object center is not contained within the
combined hard-body object. In other terms, it is assumed that dist > OBJ . When this is not the case, the
probability of conjunction is simply assumed to be 1.
4 Extension and Analysis
Conjunction literature tends to focus on calculating the probability of conjunction given the covariance and
nominal state information. This work will utilize probability analysis to analyze optimal collision avoidance
maneuvers. In the optimization process there can be two factors that are optimized: the minimization of
conjunction probability or the minimization of Δv. It is important to note that for the purposes of this analysis,
we will define the total Δv of a collision avoidance maneuver to be the sum of three separate maneuvers:
The impulse maneuver required to avoid the secondary object1.
The impulse maneuver required to vector the primary object back to its original orbit after passing the
secondary object
2.
The impulse maneuver required to re-enter the original orbit of the primary object3.
The idea in optimizing this full series of maneuvers as opposed to just the initial maneuver is to provide a fullmission insight into the impacts of collision avoidance. It is also important to note that this method is based in
numerical techniques so there is room for further optimization through finer quantization and time-stepping as
will be seen later.
First, define a number of points along the collision avoidance path:
Initial position and velocity of the primary object: p0
, p0
Initial position and velocity of the secondary object: s0
, s0
Position and velocity of the primary object at the point of closest approach to the secondary object:
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 9/31
p,dist ,
p,dist
This problem begins with the position and velocity vectors for a primary and secondary space object on a
collision path. A unit vector is generated in all directions and multiplied by some scalar factor to create an
avoidance maneuver vector in all directions, Δavd,i
. This series of vectors will look something like the Figure
5 vector field.
Figure 5: MATLAB ’quiver’ plot of all potential collision avoidance maneuvers, Δavd,i
The scalar is defined by the user in accordance with mission Δv capabilities and CONOPS. Each
avoidance maneuver vector is added to the initial velocity vector of the primary object, p0
, to create an array
of possible avoidance maneuver paths,
With this series of new velocity vectors generated at the maneuver time, each potential avoidance
maneuver path is propagated forward, using a basic Keplerian propagator with J2 perturbations, to the
minimum approach distance with the secondary object, dist i. At
p,dist,ithe maximum probability of
conjunction is calculated, using Alfano’s fourth order approximation of P max
from Section 3, for each potential
avoidance path yielding a maximum probability of conjunction for each scenario, P max,i
. At this point, a
reasonable value for AR must be chosen as well. If the goal is to simply optimize the direction of the thrustvector of the avoidance maneuver to minimize conjunction probability, then the problem is compete. The
scenario associated with the Δivector that yields the smallest P
max,iis the optimal collision avoidance
scenario. If however, if full mission impacts is required, then an optimal series of maneuvers back to the
original orbital path of the primary object must be designed. At this point p,dist,i
can be determined using the
same Keplerian propagator used to determine p,dist,i
.
For each avoidance maneuver scenario, two more maneuvers can be designed to place the primary object
back into it’s original orbit. Mission planning must determine at what point the asset needs to be back in it’s
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 10/31
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 11/31
Figure 6: Maximum probability of conjunction as a function of closest approach distance for each
collision avoidance scenario.
A strong exponential relationship between these two parameters can be noted. Considering the
formulation in Section 3, this is to be expected, but it lends an interesting insight into how quickly the
reduction of risk tapers as the closest approach distance is increased. The core of this whole analysis can be
seen in Figure 7.
Figure 7: Conjunction probability as a function of total required change in velocity for each collision
avoidance scenario.
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 12/31
This is a plot of the probability of conjunction as a function of the change in velocity over the total
avoidance maneuver (three separate maneuvers) for each potential scenario. Though the relationship is not as
defined as that for conjunction probability as a function of closest approach distance, a loose exponential
relationship can be fitted to this data. As one would expect, the maneuver that yields the highest conjunction
probability is also that which yields the lowest change in velocity. At this point a mission team would have to
perform a risk assessment to determine an acceptable conjunction probability. This result would determine the
full set of maneuvers needed to minimize fuel expenditure while reducing conjunction risk to an acceptablelevel. For instance, if the acceptable level of risk to the asset were 10-4, we can clearly see the best option
would be the scenario that yields a total Δv of 0.7696 km/s. The analysis also yields the timing and vectors of
each maneuver.
Initial Avoidance Maneuver
Maneuver to Vector Back to Original Orbit
Maneuver to Enter Original Orbit 350∘ of True Anomaly After Initial Maneuver
An interesting result is found if the magnitude of the initial avoidance maneuver, , is changed from
500 m/s to 250 m/s. Figure 8 shows the resulting maximum probability of conjunction as a function of total
maneuver change in velocity for each case.
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 13/31
Figure 8: Maximum probability of conjunction and total Δv required for each each scenario with two
different values of .
The result data shows a similar distribution of scenario conjunction probabilities but scaled and shifted
towards 0.250 km/s. If we now apply the requirement of a conjunction risk of 10-4, the optimized maneuver
scenario will produce a total scenario Δv of 0.5062 km/s. This value is less than that found for the 500 m/s
initial change in velocity case, but as this initial change in velocity is reduced, eventually no scenario will
yield an acceptable conjunction probability as can be seen in the example in Figure 9.
Figure 9: Maximum probability of conjunction and total Δv required for each each scenario with two
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 14/31
different values of .
The initial change in velocity is very dependent on system capabilities and can be optimized accordingly.
Figure 8 also shows that as the total scenario change in velocity is reduced, the probability of conjunction
forms an asymptote at the initial avoidance maneuver magnitude. This result makes sense intuitively. As the
total scenario change in velocity approaches the initial avoidance maneuver velocity, a scenario is formed in
which no maneuver needs to be performed to achieve the original orbit. This can only mean the object is still
on the original orbit at the point of conjunction and as a result, the probability of conjunction is maximized.
5 Conclusions
The set of optimal impulse maneuvers that minimize conjunction probability is not a single solution. There
exists a relationship between these two parameters that must be evaluated in the context of mission risk and
capabilities. However, with the definition of an acceptable conjunction probability an optimal set of
maneuvers can be designed. Conversely, with a maximum allowable change in velocity, a scenario that
minimizes conjunction probability can be designed. In either case this technique shows that collision
avoidance can be methodically determined, resulting in avoidance scenarios that fit best in individual missioncontext.
References
[1] Orbital debris quarterly news, April 2007.
[2] Salvatore Alfano. Relating position uncertainty to maximum conjunction probability. The Journal of the
Astronautical Sciences, 53:193–205, 2005.
[3] Salvatore Alfano. Review of conjunction probability methods for short-term encounters. American
Institute of Aeronautics and Astronautics, AAS/AIAA Spaceflight Mechanics Meeting, 2007.
[4] K. Chan. Improved analytical expressions for computing spacecraft collision probabilities. In AAS Paper
No. 03-184, 2003.
[5] J. L. Foster and H. S. Estes. A parametric analysis of orbital debris collision probability and maneuver
rate for space vehicles. NASA/JSC-25898, 1992.
[6] Shirley Kan. China’s anti-satellite weapon test. Technical report, Congressional Research Service, 2007.
[7] Maj Brian J. Crothers Maj Edward P. Chatters IV. AU-18 Space Primer . USAF Air Command and Staff
College, 2009.
[8] NASA. Usa space debris environment, operations, and policy updates. In Presentation to the 49thSession of th Scientific and Technical Subcommittee Committee on the Peaceful Uses of Outer Space
United Nations, 2012.
[9] R. P. Patera. General method for calculating satellite collision probability. Journal of Guidance, Control,
and Dynamics, Vol. 24, No. 4:716–722, 2001.
[10] David Vallado. Fundamentals of Astrodynamics and Applications. Micrososm Press, 3 edition, 2007.
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 15/31
f unct i on [ pMax, dvTot al , dMi n, al l Maneuver s] = pr oj ect ( r p, vp, r s, vs, AR, OBJ )
% PLEASE NOTE! ! ! ! ! !% The f i nal f unct i on of t hi s wor k was devel oped by Davi d Val l ado i n% conj unct i on wi t h hi s book "Fundametal s of Ast r odynami cs and Appl i cat i ons"% and i s f r eel y avai l abl e at www. mi cr ocosmi nc. com/ Val l ado%% The remai nder of t hi s code was devel oped by t he aut hor , Kyl e Br i dgeo
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Thi s f unct i on i s t he cor e of t he del t a V mi ni mi zat i on f or r educt i on of % conj unct i on pr obabi l i t y. I t accept s t he r and v ECI vectors of t he% pr i mary and secondary obj ect ( pr i mary wi l l maneuver ) , t he est i mated% aspect r at i o of si gma_y t o si gma_x and the combi ned hard- body r adi us of % t he two obj ect s.%% Return:% Ar r ay of maxi mum pr obabi l i t y of conj unct i on f or each scenar i o% Ar r ay of t ot al del t a- v r equi r ed f or each scenar i o and a r et ur n t o t he% or i gi nal orbi t% Ar r ay of t he cl osest appr oach di st ance between t he t wo obj ect s f or each% scenar i o% Ar r ay of al l del t a- v vect or s r equi r ed f or each scenar i o%% Aut hor : Kyl e Br i dgeo% Date: 12/ 1/ 2012%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Const ant smu_ear t h = 398600. 4418;
% Gener at e a 500 m/ s del t a V i n al l di r ect i onsdv_i ni t = Vect orOut put ( 10) *0. 5;[ r ows, col s] = si ze( dv_i ni t ) ;
% Gener at e new vel oci t y vect or s i n al l di r ect i ons t o def i ne al l scenar i os
vpAl l New = zeros( r ows, col s) ;f or i = 1: 1: col s
vpAl l New( : , i ) = dv_i ni t ( i ) + vp;end
% Assess cl osest appr oach di st ance f or t he case of no appl i ed del t a vt i meSt ep = ( 5*70)*10;sl ope = - 1;t i meOf f set = 0;% Whi l e the t i me step i s gr eat er t han a t hr eshhol d, cont i nue reduci ng and% honi ng i n on t he t r ue cl osest appr oach di st ancewhi l e t i meSt ep > 0. 1
t i meSt ep = t i meSt ep/ 10;
[ r p1, ~] = PKepl er ( r p, vp, t i meOf f set ) ;[ r s1, ~] = PKepl er ( r s, vs, t i meOf f set ) ;t i mePr op = t i meOf f set + t i meSt ep;sl ope = - 1;% Whi l e the cl osest appr oach di st ance i s st i l l decreasi ng,% cont i nue pr opagat i ng. . .whi l e sl ope ~= 1
[ r p2, ~] = PKepl er( r p, vp, t i mePr op) ;[ r s2, ~] = PKepl er ( r s, vs, t i mePr op) ;di st 1 = norm( r p1- r s1) ;di st 2 = norm( r p2- r s2) ;i f di st1 < di st2
sl ope = 1;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 16/31
t i meOf f set = t i mePr op - 2*t i meSt ep;el se
t i meProp = t i meProp + t i meSt ep;r p1 = r p2;r s1 = r s2;
end;end;
end;
% Det er mi ne t he t i me f r om i ni t i al maneuver t o col l i si on
nomTi me2Col l i si on = t i meOf f set ;% Fi nd t he or bi t al el ement s of t he nomi nal pr i mar y obj ect or bi t[ a_nom, e_nom, i _nom, r aan_nom, arg_p_nom, nu1p_nom] = el orb( r p, vp) ;[ ~, ~, ~, t pp1p_nom] = conver t _anamol y( ' V' , d2r ( nu1p_nom) , e_nom, a_nom) ;
% Fi nd t r ue anamol y at t he poi nt of possi bl e col l i si ont ppCol l i si on_nom = t pp1p_nom + nomTi me2Col l i si on;[ ~, ~, nuCol l i si on_nom, ~] = conver t _anamol y( ' T' , t ppCol l i si on_nom, e_nom, a_nom) ;
% Propogate each vel oci t y vector f orward t o the mi ni mum di st ance between% t he pr i mary and secondary obj ect . Each case wi l l coar sel y pr opogate each% or bi t f or war d unt i l t he r el at i ve posi t i on vector begi ns t o gr ow, t he% f unct i on wi l l t hen use thi s coar se pr edi ct i on and a mor e ref i ned t i me
% st ep t o r ef i ne t he appr oxi mati on of cl ose appr oach f or each scenari o
% St ar t pr opagat i on i n 70 second st eps and r ef i ne f r om t her e
% For each new vel oci t y vect or . . .dMi n = zeros( 2, col s) ;vPr i maryMi nDi st = zeros( 3, col s) ;r Pr i mar yMi nDi st = zer os( 3, col s) ;f or i = 1: 1: col s
t i meSt ep = ( 5*70) *10;sl ope = - 1;t i meOf f set = 0;% Cont i nue r ef i ni ng est i mates whi l e t he t i me st ep i s gr eat er t han some
% t hr eshol dwhi l e t i meSt ep > 1t i meSt ep = t i meSt ep/ 10;[ r p1, ~] = PKepl er ( r p, vpAl l New( : , i ) , t i meOf f set ) ;[ r s1, ~] = PKepl er ( r s, vs, t i meOf f set ) ;t i mePr op = t i meOf f set + t i meSt ep;sl ope = - 1;% Whi l e t he di st ance i s sti l l decreasi ng, cont i nue pr opagat i ng. . .whi l e sl ope ~= 1
[ r p2, ~] = PKepl er ( r p, vpAl l New( : , i ) , t i mePr op) ;[ r s2, ~] = PKepl er ( r s, vs, t i mePr op) ;di st 1 = nor m( r p1- r s1) ;di st 2 = nor m( r p2- r s2) ;i f di st1 < di st2
sl ope = 1;t i meOf f set = t i mePr op - 2*t i meSt ep;
el set i meProp = t i meProp + t i meSt ep;r p1 = r p2;r s1 = r s2;
end;end;
end;% Bui l d ar r ay of cl osest appr oach di st ances f or each scenar i odMi n( 1, i ) = di st 1;dMi n( 2, i ) = t i meOf f set ;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 17/31
[ rPr i maryMi nDi st( : , i ) , vPr i maryMi nDi st( : , i ) ] = . . .PKepl er ( r p, vpAl l New( : , i ) , t i meOf f set ) ;
end
% Cal cul at e t he del t a V r equi r ed t o get back i nt o t he or i gi nal or bi t . Assume% t hat t he pr i mar y sat el l i t e must be back i n t he or i gi nal% orbi t 350 degr ees of anamol y af t er t he poi nt of cl osest pass bet ween the% t wo obj ect sN = 100; % Number of 60 s t i me st eps t o f i nd mi ni mumdel t a vdvTot al = zer os( 2, col s) ;
nuFi nal = nuCol l i si on_nom + r 2d( 350) ;i f nuFi nal > ( 2*pi ( ) )
nuFi nal = nuFi nal - ( 2*pi ( ) ) ;end;
% Deter mi ne t he posi t i on and vel oci t y at t he poi nt where t he pr i mary obj ect% shoul d r e- j oi n i t s f or mer or bi t . Thi s pr ocedure wi l l use t he Bat t i n% method and determi ne t he t i me of t r ansf er t hat mi ni mi zes del t a_v[ r f i nal , vf i nal ] = r andv(a_nom, e_nom, i _nom, r aan_nom, arg_p_nom, nuFi nal ) ;f or i = 1: 1: col s
r 1 = r Pr i mar yMi nDi st ( : , i ) ;v1 = vPr i mar yMi nDi st ( : , i ) ;j = 1;
f or t = 20: 1: 120% Bat t i n Method sol ut i on i mpl ement at i on devel oped by Davi d Val l ado% and avai l abl e at www. mi cr ocosmi nc. com/ Val l ado[ vTr ans1, vTr ans2, ~] = l amber t b( r1, r f i nal , ' l ' , 0, t *60) ;vTrans1 = t r anspose(vTrans1) ;vTrans2 = t r anspose(vTrans2) ;
% Fi nd t he t ot al del t a v r equi r ed f or al l maneuver sdvTotal Temp( 1, j ) = norm( vTr ans2 - vf i nal ) + norm( v1- vTr ans1) + norm( dv_i ni t ( : , i ) ) ;dvTotal Temp( 2, j ) = t ;
% Fi nd t he del t a v vectors f or each maneuveral l Manuever sTemp( 1: 3, j ) = dv_i ni t ( : , i ) ;
al l ManueversTemp( 4: 6, j ) = v1 - vTr ans1;al l ManueversTemp( 7: 9, j ) = vTr ans2 - vf i nal ;j = j +1;
end;
% Determi ne t he t i me of t r ansf er f or t he Batt i n method that mi ni mi zes% t he t ot al change i n vel oci t ymi nCheck = dvTot al Temp(1, : ) ;[ ~, mi nI ndex] = mi n(mi nCheck) ;dvTotal ( 1, i ) = dvTotal Temp( 1, mi nI ndex) ;dvTotal ( 2, i ) = dvTotal Temp( 2, mi nI ndex) ;al l Maneuver s( 1: 3, i ) = al l ManueversTemp( 1: 3, mi nI ndex) ;al l Maneuver s( 4: 6, i ) = al l ManueversTemp( 4: 6, mi nI ndex) ;al l Maneuver s( 7: 9, i ) = al l ManueversTemp( 7: 9, mi nI ndex) ;
end;
% Fi nd t he maxi mum pr obabi l i t y of conj unct i on. Thi s assumes t he covari ance% i s al i gned, not t o act ual posi t i on, but at t he posi t i on t hat maxi mi zes% probabi l i t ypMax = zeros( 1, col s) ;f or i = 1: 1: col s
% Fi r st or der appr oxi mat i on of si gma_x f or max pr obabi l i t ysi gXPMax = sqr t ( ( ( AR 2̂+1)*OBJ 2̂ + 2*dMi n(1, i ) 2̂ + . . .
sqr t ( ( ( AR 2̂+1)*OBJ 2̂) 2̂ + 4*dMi n(1, i ) 4̂) ) / ( 8*AR 2̂) ) ;
% Four t h or der appr oxi mat i on of conj unct i on pr obabi l i t y
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 18/31
aa4 = 245760*( AR*si gXPMax) 8̂ + ( - 30720*OBJ 2̂*( AR̂ 2+1) ) *( si gXPMax*AR) 6̂;bb4 = 1280*( OBJ *AR̂ 2*si gXPMax 2̂) 2̂*( ( 3*AR 4̂+3+2*AR 2̂) *OBJ 2̂+24*dMi n( 1, i ) 2̂) ;cc4 = - 80*( OBJ 2̂*AR*si gXPMax) 2̂*( ( 96+32*AR̂ 2) *dMi n(1, i ) 2̂ + . . .
( 5*AR 6̂ + 3*AR 2̂ + 5 + 3*AR 4̂) *OBJ 2̂) ;dd4 = ( 35*AR 8̂ + 35 + 20*AR 6̂ + 18*AR 4̂ + 20*AR 2̂) *OBJ 8̂ + . . .
( ( 1200 + 480*AR̂ 2 + 240*AR̂ 4) *dMi n( 1, i ) 2̂) *OBJ 6̂ + 1280*dMi n( 1, i ) 4̂*OBJ 4̂;pMax(1, i ) = 1/ ( 491520*( AR 9̂*si gXPMax 1̂0) ) * exp( - . 5*
( dMi n( 1, i ) / ( AR*si gXPMax) ) 2̂) *. . .OBJ 2̂*( aa4+bb4+cc4+dd4) ;
end;
end
f unct i on [al l Uni t Vect or s] = Vect or Out put ( N)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Thi s f unct i on ser ves t o creat e an ar r ay uni t vect or s i n al l di r ect i ons% Ret ur n: ar r ay of al l uni t vectors%% Aut hor : Kyl e Br i dgeo% Date: 11/ 29/ 12%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N = N- 1;
al l Uni t Vect ors = zeros( 3, N̂ 2) ;st ep = ( 2*pi ( ) / N) ;
counter = 1;f or t het a = st ep/ 2: st ep: ( 2*pi ( ) ) +st ep/ 2
f or phi = 0: ( 2*pi ( ) ) / N: ( 2*pi ( ) )[ dv_x dv_y dv_z] = sph2car t ( t heta, phi , 1) ;al l Uni t Vect or s( 1, count er ) = dv_x;al l Uni t Vect or s( 2, count er ) = dv_y;al l Uni t Vect or s( 3, count er ) = dv_z;counter = counter + 1;
endend
end
f uncti on [ r pr op, vpr op] = PKepl er ( r i ni t , vi ni t , del _t )
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The pur pose of t hi s f unct i on i s t o pr opogat e a posi t i on and vel oci t y% vector f or war d i n t i me by a speci f i c i nt er val .%% Aut hor : Kyl e Br i dgeo% Date: 11/ 22/ 2012%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mu_ear t h = 398600. 4418; % Eart h' s gr avi t at i onal parameter ( km / ( sol ar s) 2̂)J 2_eart h = 0. 0010826269; % Eart h' s J 2 parameter
r _eart h = 6378. 137; % Eart h average r adi us, [ km]
% Fi nd t he or bi t al el ement s[ a, e, i , raan, arg_p, nu] = el orb( r i ni t , vi ni t ) ;
% Fi nd t he mean anamol y[ M, ~, ~, ~] = conver t _anamol y( ' V' , d2r ( nu) , e, a) ;
p = a*( 1- e 2̂) ;n = sqr t ( mu_ear t h/ a 3̂) ;
% Updat e f or J 2 per t ur bat i ons
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 19/31
r aan_1 = d2r ( r aan) - ( 3*n*r _ear t h*J 2_ear t h*cos( d2r ( i ) ) *del _t ) / ( 2*p 2̂) ;ar g_p_1 = d2r ( ar g_p) + ( 3*n*r _ear t h 2̂*J 2_ear t h*( 4- 5*si n( d2r ( i ) ) 2̂) *del _t ) / ( 4*p 2̂) ;
M_1 = M + n*del _t ;
% Fi nd t he new t r ue anamol y[ ~, ~, nu_1, ~] = conver t _anamol y( ' M' , M_1, e, a) ;
% Fi nd t he new posi t i on and vel oci t y vect or s[ r pr op, vpr op] = r andv( a, e, i , r 2d( r aan_1) , r 2d( ar g_p_1) , r 2d( nu_1) ) ;
end
f uncti on [ a, e, i , raan, arg_p, nu] = el orb( posi j k, vel i j k)% Thi s f unct i on accept s t he vector posi t i on and vel oci t y of a sat el l i t e at% a poi nt i n t i me and r et ur ns t he 6 or bi t al el ement s i n t hi s or der :% semi - maj or axi s, eccent r i ci t y ( vector) , i ncl i nat i on, r i ght acensi on of % t he ascendi ng node, argument of t he per i apse, and t r ue anamol y
% Const ant smu = 398600. 4418; % Eart h' s gravi t at i onal parameter ( km / ( sol ar s) 2̂)k = [ 0 0 1] ; % Vect or of Ear t h' s z- axi s ( ECI f r ame)
r _mag = nor m( posi j k) ;
v_mag = nor m( vel i j k) ;
% Angul ar moment umh = cross( posi j k, vel i j k) ;h_mag = nor m( h) ;
% Li ne of nodesn = cross( k, h) ;n_mag = nor m( n) ;
% Eccent r i ci t ye_vec = cross( vel i j k, h) / mu - posi j k/ r _mag;e = norm( e_vec) ;
% Speci f i c ener gysp_energy = v_mag 2̂/ 2 - mu/ r _mag;
% Semi - maj or axi sa = abs( mu / ( 2*sp_ener gy) ) ;
% I ncl i nat i oni = acos( h( 3) / h_mag) ;
% Ri ght acensi on of t he ascendi ng noder aan = acos( n(1) / n_mag) ;i f n( 2) < 0
r aan = 2*pi ( ) - r aan;
end
% Ar gument of t he per i apsearg_p = acos(dot ( n, e_vec) / ( n_mag*e) ) ;i f e_vec( 3) < 0
arg_p = 2*pi ( ) - arg_p;end
% True Anamol ynu = acos( dot ( e_vec, posi j k) / ( e*r _mag) ) ;i f dot( pos i j k, vel i j k) < 0
nu = 2*pi ( ) - nu;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 20/31
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 21/31
M = angl e2t heta(M) ;nu = angl e2t het a( nu) ;
% I f t he i nput argument i s t r ue anamol y, f i nd t he eccent r i c anamol y, mean% anamol y, and t i me past per i apse passage
el sei f arg == ' V'nu = val ;E = nu_t o_E( nu, a, e) ;M = E - e*si n( E) ;t pp = angl e2t heta(M) / n;
E = angl e2t heta(E) ;M = angl e2t heta(M) ;nu = angl e2t het a( nu) ;
el sepr i nt ( ' Try agai n' ) ;
end
f unct i on E_f = newt _r aph( M, e, N)% Thi s f unct i on perf orms a Newt on- Raphson numeri cal i nt egr at i on t o% determi ne t he eccent r i c anamol y f r om t he eccent r i ci t y and mean anamol y% Synt ax:% newt _r aph( mean anamol y, eccent r i ci t y, number of numeri cal i t erat i ons)
% I ni t i al guess f or EEn = 0;
E_conv = zer os( N) ;
f or i = 1: N
E_conv( i ) = En;En1 = En + ( M - En + e*si n( En) ) / ( 1- e*cos( En) ) ;En = En1;
end
E_f = En;
% % Pl ot t he conver gence of E% pl ot ( E_conv) ;% xl abel ( ' Number of i t er at i ons' ) ;% yl abel ( ' Val ue of E ( rad) ' ) ;
end
f unct i on nu = E_t o_nu( E, a, e)% Thi s f unct i on sol ves f or t he t r ue anamol y f r om t he eccent r i c anamol y,% semi - maj or axi s and eccent r i ci t y% Synt ax:% E_t o_nu( Eccent r i c anamol y, semi - maj or axi s, eccent r i ci t y)
r = a * ( 1 - e*cos( E) ) ;
nu = at an2( ( a*sqr t ( 1- e 2̂) *si n( E) / r ) , ( a*cos( E) - a*e) / r ) ;end
f unct i on E = nu_t o_E( nu, a, e)
% Thi s f unct i on sol ves f or t he eccent r i c anamol y gi ven t he t r ue anamol y,% semi - maj or axi s and eccent r i ci t y% Synt ax:% nu_t o_E( Tr ue anamol y, semi - maj or axi s, eccent r i ci t y)p = a * ( 1- e 2̂) ;r = p/ ( 1+e*cos( nu) ) ;
E = at an2( ( r *si n( nu) ) / ( a*sqr t ( 1- e 2̂) ) , ( r *cos( nu) + a*e) / a) ;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 22/31
end
f unct i on ang_out = angl e2t heta(ang_i n)% Thi s f unct i on conver t s angl es f r om t he at an2 coor di nat e system t o a% st andard 2 pi r adi ans coordi nate syst emi f ang_i n < 0
ang_out = 2*pi ( ) + ang_i n;el se
ang_out = ang_i n;end
end;
f unct i on ang_out = t heta2angl e(ang_i n)% Thi s f unct i on conver t s f r om a st andar d 2 pi r adi ans ci r cul ar coor di nat e% system t o the at an2 coor di nat e syst emi f ang_i n > pi ( )
ang_out = ang_i n - 2*pi ( ) ;el se
ang_out = ang_i n;end
end
end
f unct i on [ ang_out ] = d2r ( ang_i n)
ang_out = ( ang_i n/ 360) * 2*pi ( ) ;
end
f unct i on [ ang_out ] = r 2d( ang_i n)
ang_out = ( ang_i n/ ( 2*pi ( ) ) ) * 360;
end
f uncti on [ posi j k, vel i j k] = r andv( a, e, i , raan, ar g_p, nu)% Thi s f unct i on conver t s t he si x cl assi cal or bi t al el ement s i nt o a t hr ee% di mensi onal posi t i on and vel oci t y vect or descri bi ng a sat el l i t e i n t he% ECI r ef er ence f r ame at a speci f i c i nst ant i n t i me% I nput ( angl es i n degr ees, l engt hs i n km) :% r andv( semi - maj or axi s, eccent r i ci t y, i ncl i nat i on, r i ght ascensi on of t he% ascendi ng node, argument of t he peri gee, t r ue anamol y)%% Out put :% [ 3x1 posi t i on vect or , 3x1 vel oci t y vect or ]
% Const ant smu_eart h = 398600. 4418; % Gr avi at i onal parameter of Eart h, km̂ 3/ ( sol ar s) 2̂
% Conver t i nput s f r om degr ees t o radi ansi = d2r( i ) ;r aan = d2r ( r aan) ;arg_p = d2r ( arg_p) ;nu = d2r ( nu) ;
% Cal cul ate t he semi - parameterp = a * ( 1- e 2̂) ;
% Pre- al l ocat e memory l ocati onspospqw = zer os( 3, 1) ;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 23/31
vel pqw = zeros( 3, 1) ;posi j k = zer os( 3, 1) ;vel i j k = zer os( 3, 1) ;pqw2i j k = zeros( 3, 3) ;
% Posi t i on vect or i n per i f ocal coor di nat e syst empospqw( 1, 1) = p*cos( nu) / ( 1+e*cos( nu) ) ;pospqw( 2, 1) = p*s i n( nu) / ( 1+e*cos( nu) ) ;pospqw( 3, 1) = 0;
% Vel oci t y vect or i n per i f ocal coor di nat e syst emvel pqw( 1, 1) = - 1*sqrt ( mu_ear t h/ p) *si n( nu) ;vel pqw( 2, 1) = sqr t ( mu_ear t h/ p) *( e+cos( nu) ) ;vel pqw( 3, 1) = 0;
% Per i f ocal t o ECI coor di ant e syst em t r ansf or mat i on mat r i xpqw2i j k(1, 1) = cos( r aan) *cos( ar g_p) - si n( r aan) *si n( ar g_p) *cos( i ) ;pqw2i j k(1, 2) = - 1*cos( r aan) *si n( ar g_p) - si n( r aan) *cos( ar g_p) *cos( i ) ;pqw2i j k( 1, 3) = si n( r aan) *si n( i ) ;pqw2i j k(2, 1) = si n( r aan) *cos( ar g_p) +cos( r aan) *si n( ar g_p) *cos( i ) ;pqw2i j k(2, 2) = - 1*si n( r aan) *si n( ar g_p) +cos( r aan) *cos( ar g_p) *cos( i ) ;pqw2i j k(2, 3) = - 1*cos( r aan) *si n( i ) ;pqw2i j k( 3, 1) = si n( ar g_p) *si n( i ) ;
pqw2i j k(3, 2) = cos( ar g_p) *si n( i ) ;pqw2i j k(3, 3) = cos( i ) ;
% Conver si on f r om per i f ocal t o ECI r ef er ence syst emposi j k = pqw2i j k * pospqw;vel i j k = pqw2i j k * vel pqw;
end
% The f ol l owi ng code was devel oped by Davi d Val l ado i n conj unct i on wi t h% hi s book "Fundametal s of Ast r odynami cs and Appl i cat i ons" and i s% f r eel y avai l abl e at www. mi cr ocosmi nc. com/ Val l ado
% Thi s r out i ne was devel oped t o i mpl ement t he Bat t i n method of t he% Lambert Probl emf unct i on [ vo, v, er r or b] = l amber t b ( r o, r , dm, nr ev, dt sec )
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%% f unct i on const mat h%% t hi s f unct i on set s const ant s f or mat hemat i cal oper at i ons.%% aut hor : davi d val l ado 719- 573- 2600 2 apr 2007%% revi s i ons%
% i nput s : descr i pt i on r ange / uni t s% none%% out put s :% rad, t wopi , hal f pi ;% f t 2m, mi l e2m, nm2m, mi l e2f t , mi l eph2kmph, nmph2kmph;%% l ocal s :% -%% coupl i ng :% none.
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 24/31
%% const math;% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
smal l = 1. 0e- 10;
i nf i ni t e = 999999. 9;undef i ned = 999999. 1;
% - - - - - - - - - - - - - - - - - - - - - - - - - mat hemat i cal - - - - - - - - - - - - - - - - - - - -
r ad = 180. 0 / pi ;t wopi = 2. 0 * pi ;hal f pi = pi * 0. 5;
% - - - - - - - - - - - - - - - - - - - - - - - - - conver si ons - - - - - - - - - - - - - - - - - - - - -f t 2m = 0. 3048;mi l e2m = 1609. 344;nm2m = 1852;mi l e2f t = 5280;mi l eph2kmph = 0. 44704;nmph2kmph = 0. 5144444;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%% f unct i on const ast r o%% t hi s f unct i on set s const ant s f or var i ous ast r odynami c oper at i ons.%% aut hor : davi d val l ado 719- 573- 2600 2 apr 2007%% revi s i ons%% i nput s : descr i pt i on r ange / uni t s% none%% out put s :
% r e, f l at , omegaear t h, mu;% eccear t h, eccear t hsqr d;% r enm, r ef t , t usec, t umi n, t uday, omegaeart hr adpt u, omegaeart hr adpmi n;% vel kmps, vel f t ps, vel r adpmi n;% degpsec, r adpday;% speedof l i ght , au, ear t h2moon, moonr adi us, sunr adi us;%% l ocal s :% -%% coupl i ng :% none.%% const ast r o;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -% - - - - - - - - -
% - - - - - - - - - - - - - - - - - - - - - - - physi cal const ant s - - - - - - - - - - - - - - - -% WGS- 84/ EGM- 96 const ant s used herer e = 6378. 137; % kmf l at = 1. 0/ 298. 257223563;omegaear t h = 7. 292115e- 5; % r ad/ smu = 398600. 4418; % km3/ s2mum = 3. 986004418e14; % m3/ s2
% der i ved const ant s f r om t he base val ues
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 25/31
eccear t h = sqr t ( 2. 0*f l at - f l at 2̂) ;eccear t hsqrd = eccear t h 2̂;
r enm = r e / nm2m;r ef t = r e * 1000. 0 / f t 2m;
t usec = sqr t ( r e 3̂/ mu) ;t umi n = t usec / 60. 0;t uday = t usec / 86400. 0;
omegaear t hradpt u = omegaear t h * tusec;omegaear t hradpmi n = omegaear t h * 60. 0;
vel kmps = sqr t ( mu / r e) ;vel f t ps = vel kmps * 1000. 0/ f t 2m;vel r adpmi n = vel kmps * 60. 0/ r e;%f or af spc%vel kmps1 = vel r adpmi n*6378. 135/ 60. 0 7. 90537051051763%mu1 = vel kmps*vel kmps*6378. 135 3. 986003602567418e+005degpsec = ( 180. 0 / pi ) / t usec;r adpday = 2. 0 * pi * 1. 002737909350795;
speedof l i ght = 2. 99792458e8; % m/ s
au = 149597870. 0; % kmear t h2moon = 384400. 0; % kmmoonr adi us = 1738. 0; % kmsunr adi us = 696000. 0; % km
masssun = 1. 9891e30;massear t h = 5. 9742e24;massmoon = 7. 3483e22;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%% f unct i on l amber t b%
% t hi s f unct i on sol ves l amber t ' s pr obl em usi ng bat t i ns met hod. t he met hod i s% devel oped i n bat t i n ( 1987) . i t uses cont i nued f r act i ons t o speed t he% sol ut i on and has sever al par amet er s t hat are def i ned di f f er ent l y t han% t he t r adi t i onal gaussi an t echni que.%% aut hor : davi d val l ado 719- 573- 2600 1 mar 2001%% i nput s descri pt i on r ange / uni t s% ro - i j k posi t i on vector 1 km% r - i j k posi t i on vector 2 km% dm - di rect i on of mot i on ' l ' , ' s '% nr ev - number of r evs t o compl ete 0, 1, . . .% dtsec - t i me bet ween r 1 and r 2 s%
% out put s :% vo - i j k vel oci t y vector km / s% v - i j k vel oci t y vector km / s% er ror - er r or f l ag ' ok' , . . .%% l ocal s :% i - i ndex% l oops -% u -% b -% si nv -% cosv -
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 26/31
% rp -% x -% xn -% y -% l -% m -% cosdel t anu -% si ndel t anu -% dnu -% a -
% t an2w -% ror -% h1 -% h2 -% t empx -% eps -% denom -% chord -% k2 -% s -% f -% g -% gdot -
% am -% ae -% be -% t m -% arg1 -% arg2 -% tc -% al pe -% bet e -% al ph -% bet h -% de -% dh -
%% coupl i ng :% mag - magni t ude of a vect or% ar csi nh - i nver se hyper bol i c si ne% ar ccosh - i nver se hyper bol i c cosi ne% si nh - hyper bol i c si ne%% r ef er ences :% val l ado 2001, 464- 467, ex 7- 5%% [ vo, v, er r or b] = l amber t b ( r o, r , dm, nr ev, dt sec ) ;% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -% - - - - - - - - -
% - - - - - - - - - - - - - - - - - - - - - - - - - i mpl ement at i on - - - - - - - - - - - - - - - - - - - - - - - - -
er r or b = ' ok' ;y = 0. 0;k2 = 0. 0;u = 0. 0;
magr = mag( r ) ;magr o = mag( r o) ;
cosdel t anu= dot ( r o, r ) / ( magr o*magr ) ;rcr ossr = cross( r o, r ) ;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 27/31
magr cr ossr = mag( r cr ossr ) ;i f dm==' s'
si ndel t anu= magr cr ossr / ( magr o*magr ) ;el se
si ndel t anu= - magr cr ossr / ( magr o*magr ) ;end;dnu = atan2( si ndel t anu, cosdel t anu ) ;
% t he angl e needs t o be posi t i ve t o work f or t he l ong wayi f dnu < 0. 0
dnu=2. 0*pi +dnu;end
r or = magr / magro;eps = r or - 1. 0;t an2w = 0. 25*eps*eps / ( sqr t ( r or ) + r or * . . .
( 2. 0 + sqrt ( ror ) ) ) ;r p = sqr t ( magr o*magr ) *( ( cos( dnu*0. 25) ) 2̂ + t an2w ) ;
i f ( dnu < pi )
l = ( ( si n( dnu*0. 25) ) 2̂ + t an2w ) / . . .( ( si n( dnu*0. 25) ) 2̂ + t an2w + cos( dnu*0. 5 ) ) ;
el se
l = ( ( cos( dnu*0. 25) ) 2̂ + t an2w - cos( dnu*0. 5 ) ) / . . .( ( cos( dnu*0. 25) ) 2̂ + t an2w ) ;
end
m = mu * dt sec*dt sec / ( 8. 0*r p*r p*r p ) ;x = 10. 0;xn = l ; %l % 0. 0 f or par and hyp, l f or el lchord= sqr t ( magro*magro + magr*magr - 2. 0*magro*magr*cos( dnu ) ) ;s = ( magro + magr + chor d ) *0. 5;l oops= 1;
l i m1 = sqr t ( m/ l ) ;y1 = 0. 0;
whi l e ( ( abs( xn- x) >= smal l ) && ( l oops <= 30) )x = xn;t empx = seebat t ( x) ;denom= 1. 0 / ( ( 1. 0 + 2. 0*x + l ) * ( 4. 0*x + t empx*( 3. 0 + x) ) ) ;h1 = ( l + x ) 2̂ * ( 1. 0 + 3. 0*x + t empx ) *denom;h2 = m*( x - l + t empx ) *denom;
% - - - - - - - - - - - - - - - - - - - - - - - eval uat e cubi c - - - - - - - - - - - - - - - - - -b = 0. 25*27. 0*h2 / ( ( 1. 0+h1) 3̂ ) ;
i f b < - 1. 0 % reset t he i ni t i al condi t i on
xn = 1. 0 - 2. 0*l ;el se
i f y1 > l i m1xn = xn * ( l i m1/ y1) ;
el seu = 0. 5*b / ( 1. 0 + sqr t ( 1. 0 + b ) ) ;k2 = kbat t ( u) ;y = ( ( 1. 0+h1 ) / 3. 0 ) *( 2. 0 + sqr t ( 1. 0+b ) / ( 1. 0+2. 0*u*k2*k2 ) ) ;xn= sqr t ( ( ( 1. 0- l ) *0. 5 ) 2̂ + m/ ( y*y) ) - ( 1. 0+l ) *0. 5;% xn = sqrt ( l * l + m/ ( y*y) ) - ( 1. 0 - l ) ; al t , doesn' t
seem t o workend;
end;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 28/31
y1= sqr t ( m/ ( ( l +x)* ( 1. 0+x)) ) ;l oops = l oops + 1;%%% f pri nt f ( 1, ' %3i y2 %11. 6f x %11. 6f k2 %11. 6f b %11. 6f u %11. 6f y1 %11. 7f
\ n' , l oops, y, x, k2, b, u, y1 ) ;
end
a= mu * dt sec*dtsec / ( 16. 0*r p*r p*xn*y*y ) ;
% - - - - - - - - - - - - - - - - - - f i nd eccent r i c anomal i es - - - - - - - - - - - - - - - - -
% - - - - - - - - - - - - - - - - - - - - - - - - hyper bol i c - - - - - - - - - - - - - - - - - - - - - - - - -i f ( a < - smal l )
ar g1 = sqr t ( s / ( - 2. 0*a ) ) ;ar g2 = sqr t ( ( s- chor d ) / ( - 2. 0*a ) ) ;% - - - - - - - eval uat e f and g f unct i ons - - - - - - - -al ph = 2. 0 * asi nh( arg1 ) ;beth = 2. 0 * asi nh( arg2 ) ;dh = al ph - bet h;f = 1. 0 - ( a/ magr o) *( 1. 0 - cosh( dh) ) ;gdot = 1. 0 - ( a/ magr ) *( 1. 0 - cosh( dh) ) ;g = dt sec - sqr t ( - a*a*a/ mu) *( si nh( dh) - dh) ;
el se% - - - - - - - - - - - - - - - - - - - - - - - - el l i pt i cal - - - - - - - - - - - - - - - - - - - - -
i f ( a > smal l )ar g1 = sqr t ( s / ( 2. 0*a ) ) ;ar g2 = sqr t ( ( s- chor d ) / ( 2. 0*a ) ) ;si nv = arg2;cosv = sqr t ( 1. 0 - ( magr o+magr - chord) / ( 4. 0*a) ) ;bete = 2. 0*acos( cosv) ;bet e = 2. 0*asi n( si nv);i f ( dnu > pi )
bet e= - bet e;end
cosv= sqr t ( 1. 0 - s/ ( 2. 0*a) ) ;si nv= arg1;
am = s*0. 5;ae = 2. 0*nrev*pi ;be = 2. 0*asi n( sqr t ( ( s- chor d) / s ) ) ;t m = sqr t ( am*am*am/ mu) *( ae - ( be- si n( be) ) ) ;i f ( dt sec > t m )
al pe= 2. 0*pi - 2. 0*asi n( si nv );el se
al pe= 2. 0*asi n( si nv ) ;endde = al pe - bet e;f = 1. 0 - ( a/ magr o) *( 1. 0 - cos( de) ) ;gdot = 1. 0 - ( a/ magr ) * ( 1. 0 - cos( de) ) ;g = dt sec - sqr t ( a*a*a/ mu) *( de - si n( de) ) ;
el se% - - - - - - - - - - - - - - - - - - - - - par abol i c - - - - - - - - - - - - - - - - - - - - -arg1 = 0. 0;arg2 = 0. 0;err orb= ' a = 0 ' ;f = 0. 0;g = 0. 0;gdot = 0. 0;f dot = 0. 0;f pr i nt f (1, ' a parabol i c orbi t \ n' ) ;
endend
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 29/31
f or i = 1 : 3
vo( i )= ( r ( i ) - f * r o( i ) ) / g;v( i ) = ( gdot* r ( i ) - ro( i ) ) / g;
end
% - - - - - - - t wo r ecur si on al gor i t hms needed by t he l amber t bat t i n r out i nef unct i on seebat t = seebatt ( v )
% - - - - - - - - - - - - - - - - - - - - - - - - - i mpl ement at i on - - - - - - - - - - - - - - - - - - - - - - - - -c( 1) = 0. 2;c( 2) = 9. 0 / 35. 0;c( 3) = 16. 0 / 63. 0;c( 4) = 25. 0 / 99. 0;c( 5) = 36. 0 / 143. 0;c( 6) = 49. 0 / 195. 0;c( 7) = 64. 0 / 255. 0;c( 8) = 81. 0 / 323. 0;c( 9) = 100. 0 / 399. 0;c( 10) = 121. 0 / 483. 0;c( 11) = 144. 0 / 575. 0;c( 12) = 169. 0 / 675. 0;
c( 13) = 196. 0 / 783. 0;c( 14) = 225. 0 / 899. 0;c( 15) = 256. 0 / 1023. 0;c( 16) = 289. 0 / 1155. 0;c( 17) = 324. 0 / 1295. 0;c( 18) = 361. 0 / 1443. 0;c( 19) = 400. 0 / 1599. 0;c( 20) = 441. 0 / 1763. 0;c( 21) = 484. 0 / 1935. 0;sqrt opv= sqrt ( 1. 0 + v) ;eta = v / ( 1. 0 + sqr t opv ) 2̂;
% - - - - - - - - - - - - - - - - - - - pr ocess f or war ds - - - - - - - - - - - - - - - - - - - - - -
del ol d = 1. 0;t er mol d= c( 1) ; % * et asum1 = t er mol d;i = 2;whi l e ( ( i <= 21) & ( abs( t ermol d) > 0. 000001 ) )
del = 1. 0 / ( 1. 0 + c( i ) *et a*del ol d ) ;t er m = t er mol d * ( del - 1. 0) ;sum1 = sum1 + t er m;i = i + 1;del ol d = del ;t er mol d= t er m;
end
seebatt = 1. 0/ ( ( 1. 0/ ( 8. 0*( 1. 0+sqr t opv) ) ) * ( 3. 0 + sum1 / ( 1. 0+eta*sum1 ) )
) ;
c( 1) = 9. 0 / 7. 0;c( 2) = 16. 0 / 63. 0;c( 3) = 25. 0 / 99. 0;c( 4) = 36. 0 / 143. 0;c( 5) = 49. 0 / 195. 0;c( 6) = 64. 0 / 255. 0;c( 7) = 81. 0 / 323. 0;c( 8) = 100. 0 / 399. 0;c( 9) = 121. 0 / 483. 0;c( 10) = 144. 0 / 575. 0;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 30/31
c( 11) = 169. 0 / 675. 0;c( 12) = 196. 0 / 783. 0;c( 13) = 225. 0 / 899. 0;c( 14) = 256. 0 / 1023. 0;c( 15) = 289. 0 / 1155. 0;c( 16) = 324. 0 / 1295. 0;c( 17) = 361. 0 / 1443. 0;c( 18) = 400. 0 / 1599. 0;c( 19) = 441. 0 / 1763. 0;c( 20) = 484. 0 / 1935. 0;
kt r = 20;sum2 = 0. 0;t erm2 = 1. 0 + c( kt r ) *et a;f or i =1: ktr - 2
sum2 = c( kt r - i ) *et a / t erm2;t er m2 = 1. 0 + sum2;
end
seebat t = 8. 0*( 1. 0 + sqr t opv) / . . .( 3. 0 + . . .( 1. 0 / . . .
( 5. 0 + et a + ( ( 9. 0/ 7. 0) *et a/ t er m2 ) ) ) ) ;
end
f unct i on mag = mag ( vec )%
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%% f unct i on mag%% t hi s f unct i on f i nds t he magni t ude of a vector. t he t ol er ance i s set t o% 0. 000001, t hus t he 1. 0e- 12 f or the squared t est of underf l ows.%
% aut hor : davi d val l ado 719- 573- 2600 30 may 2002%% revi s i ons% val l ado - f i x t ol erance t o match coe, eq, etc 3 sep 2002%% i nput s descri pt i on r ange / uni t s% vec - vect or%% out put s :% mag - magni t ude%% l ocal s :% none.%
% coupl i ng :% none.%% mag = ( vec ) ;%
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }
t emp= vec( 1) *vec( 1) + vec( 2) *vec( 2) + vec( 3) *vec(3) ;
i f abs( t emp ) >= 1. 0e- 16mag= sqr t ( t emp ) ;
7/27/2019 Determining Optimal Impulsive Orbital Maneuvers for Collision Avoidance
http://slidepdf.com/reader/full/determining-optimal-impulsive-orbital-maneuvers-for-collision-avoidance 31/31
el semag= 0. 0;
endend
% - - - - - - - t wo r ecur si on al gor i t hms needed by t he l amber t bat t i n r out i nef unct i on kbat t = kbat t ( v )
% - - - - - - - - - - - - - - - - - - - - - - - - - i mpl ement at i on - - - - - - - - - - - - - - - - - - - - - - - - -d( 1) = 1. 0 / 3. 0;
d( 2) = 4. 0 / 27. 0;d( 3) = 8. 0 / 27. 0;d( 4) = 2. 0 / 9. 0;d( 5) = 22. 0 / 81. 0;d(6) = 208. 0 / 891. 0;d(7) = 340. 0 / 1287. 0;d(8) = 418. 0 / 1755. 0;d(9) = 598. 0 / 2295. 0;d(10) = 700. 0 / 2907. 0;d(11) = 928. 0 / 3591. 0;d(12) = 1054. 0 / 4347. 0;d(13) = 1330. 0 / 5175. 0;d(14) = 1480. 0 / 6075. 0;
d(15) = 1804. 0 / 7047. 0;d(16) = 1978. 0 / 8091. 0;d(17) = 2350. 0 / 9207. 0;d(18) = 2548. 0 / 10395. 0;d(19) = 2968. 0 / 11655. 0;d(20) = 3190. 0 / 12987. 0;d(21) = 3658. 0 / 14391. 0;
% - - - - - - - - - - - - - - - - - pr ocess f or war ds - - - - - - - - - - - - - - - - - - - - - - - -sum1 = d( 1) ;del ol d = 1. 0;t ermol d= d( 1) ;i = 2;
kt r =21; whi l e ( ( i <= kt r ) && ( abs( t ermol d) > 0. 000001 ) )
del = 1. 0 / ( 1. 0 + d( i ) *v*del ol d ) ;t er m = t er mol d * ( del - 1. 0 ) ;sum1 = sum1 + t er m;i = i + 1;del ol d = del ;t er mol d= t er m;
end
%kbat t = sum1;
sum2 = 0. 0;t erm2 = 1. 0 + d(kt r ) *v;f or i =1: ktr - 2
sum2 = d( kt r - i ) *v / t erm2;t er m2 = 1. 0 + sum2;
endkbat t = d( 1) / t erm2;
end