Plume Avoidance Maneuver Planning Using Mixed Integer Linear Programming AIAA-2001-4091 Arthur Richards

advertisement
AIAA-2001-4091
Plume Avoidance Maneuver Planning Using Mixed
Integer Linear Programming
Arthur Richards
∗
Jonathan How
†
ABSTRACT
This paper extends a recently-developed path planning method to account for plume impingement, which
is a key concern for on-orbit rendezvous and formation flying spacecraft. The approach designs fueloptimal trajectories for multiple vehicles using a combination of linear and integer programming. The vehicles are required to move from an initial dynamic
state to a final state without colliding with each
other or firing the thrusters in a way that would hit
another vehicle. This problem is written as a linear program with mixed integer/linear constraints
that prohibit collisions and plume impingements. A
key benefit of this approach is that the problem
can be readily solved using the AMPL language and
CPLEX optimization software with a Matlab interface. Examples are given of this method applied to
satellite cluster reconfiguration, ISS remote camera
maneuvering and ground vehicle guidance. 1
INTRODUCTION
This paper presents the formulation of a mathematical program to design the optimal path between two
states for a group of vehicles. The trajectories are
optimized with respect to the amount of fuel used
for a given arrival time. The vehicles are constrained
not to collide with each other or fire their thrusters
toward another vehicle. This latter constraint avoids
plume impingement, a key concern for applications
in which spacecraft work in close proximity. The
plume of gas particles emitted by a thruster may
cause contamination, degradation or damage to surfaces. This issue is discussed in Ref. [3] concerning
∗ Space Systems Laboratory, Massachusetts Institute of
Technology, Cambridge MA 02139, arthurr@mit.edu
† jhow@mit.edu
‡ tschouwe@esat.kuleuven.ac.be
§ feron@mit.edu
1 Copyright °
c 2001 by the American Institute of
Aeronautics and Astronautics, Inc. All rights reserved.
Tom Schouwenaars
‡
Eric Feron
§
Mir docking. Ref. [4] discusses the impingement of
shuttle thrusters upon the solar arrays of the International Space Station during docking. In this
case, the solar arrays must be designed to withstand
the structural loading caused by the plume. Impingement is also a concern for formation flying of
satellites, which is being investigated for future space
science missions such as separated spacecraft interferometers and distributed radar systems [19, 18,
10]. In these scenarios, spacecraft separations are
of the order of 100 m and frequent thruster firings
are needed to precisely align the various vehicles.
A classical approach to collision avoidance, especially in the field of robot motion planning [14],
is the use of potential functions [17, 13]. Other recently developed techniques include approaches such
as randomized algorithms [5, 16]. Path planning
techniques using graph searching and surface covering [15] were developed earlier. The alternative approach in this paper uses integer programming. Previous work [1] has shown that collision avoidance can
be expressed as integer constraints upon the fuel optimization, forming a mixed integer/linear program
(MILP). The objective of this paper is to extend that
work to include plume impingement constraints. An
advantage of this approach is that, for a scenario
in which impingement would not normally be expected, the new constraints will be inactive and the
unconstrained, fuel-optimal design will be returned.
This may not be the case with a more conservative
approach, such as potential functions.
PROBLEM FORMULATION
Because fuel consumption is critical for space missions, the primary objective of this work is to design
fuel-optimal trajectories. In this case, the arrival
time is fixed and the mathematical program is solved
over that entire time range. The desired final state
(at time step T ) is given, so the cost function for one
1
American Institute of Aeronautics and Astronautics
vehicle is
J=
nu
T
−1 X
X
i=0 j=1
|uij |
(1)
where uij denotes the j th component of the nu × 1
input vector at the ith time step. Thus the calculated path is designed to minimize the fuel used for
that specific time range. The extension to the multiple (K) vehicle case is straightforward. In the case
that the arrival times of all vehicles are the same,
the cost function becomes
J=
nu
K T
−1 X
X
X
p=1 i=0 j=1
|up ij |
u,x
u,x
nu
K T
−1 X
X
X
p=1 i=0 j=1
|up ij |
(4)
subject to (∀p ∈ [1 . . . K] and ∀i ∈ [1 . . . T ])
with xp 0
xp i+1
= xp0
= Axp i + Bup i
and xp T = xpf
(5)
where xp0 and xpf are the starting and finishing
states respectively for the pth vehicle.
ADDITIONAL CONSTRAINTS
Multiple Vehicles: Collision Avoidance
To safely avoid collision, every pair of vehicles is required to have a minimum separation in at least one
direction at each time step. This is equivalent to
enforcing a square exclusion region around each vehicle. Considering planar motion for simplicity of
(6)
The condition q > p avoids duplication of the constraints on the positions. Eliminating the absolute
values transforms the constraints into
∀i ∈ [1 . . . T ] : ∀p, q | q > p :
xip − xiq ≥ d or xiq − xip ≥ d
or
yip − yiq ≥ d or yiq − yip ≥ d
(7)
These constraints are more usefully expressed in “AND”
form by introducing binary variables [6, 7], forming
the following mixed integer/linear constraints
and
and
and
(3)
where xp i is the state vector for the pth vehicle at
the ith time step. This relation and the initial and
final state requirements are constraints on the basic
problem. Ref. [11] investigates including disturbance
models as part of the system dynamics. Without any
form of avoidance, the problem statement is:
min J = min
∀i ∈ [1 . . . T ] : ∀p, q | q > p :
|xip − xiq | ≥ d or |yip − yiq | ≥ d
(2)
where up ij denotes the j th component of the input
vector of the pth vehicle at the ith time step. This
piecewise linear function can be converted to a linear
function using slack variables and linear inequality
constraints [1]. Note that it is also possible to optimize the trajectories using different arrival times
for each vehicle. The discretized dynamics of the
system of vehicles are assumed to be given by
xp i+1 = Axp i + Bup i
exposition, denote the positions of vehicles p and q
at time step i as ( xip , yip ) and ( xiq , yiq ) respectively. Let the safety distance be denoted by d. The
necessary constraints can then be written as follows:
and
∀i ∈ [1 . . . T ] :
xip − xiq
xiq − xip
yip − yiq
yiq − yip
4
X
bipqk
k=1
∀
≥
≥
≥
≥
p, q | q > p :
d − M bipq1
d − M bipq2
d − M bipq3
d − M bipq4
≤
3
(8)
where M is a large arbitrary positive number, greater
than any separation that might occur in the problem, and bipqk are a set of binary variables (0 or 1)
that are used to relax each constraint. In particular,
if the corresponding binary variable bipqk = 1, then
the k th original constraint in Eqn. 7 is relaxed at the
ith time step. The last and-constraint ensures that
at least one of the original or -constraints is satisfied,
which implies that the vehicles are a safe distance
apart. Eq. 8 becomes an additional constraint on
the existing problem, Eqs. 4 and 5. The binaries
bipqk become additional variables for the optimization.
Multiple Vehicles: Plume Impingement
This formulation can be extended to account for
plume impingement. In this case, the thruster firings for the vehicle maneuvers are restricted to avoid
impinging on the other vehicles in the fleet. The current approach uses a simple model of a plume which
extends in a discrete direction from the vehicle and
fills a rectangle (for the 2D case). As a result, there
is an additional exclusion box that must be enforced
2
American Institute of Aeronautics and Astronautics
These constraints can also be converted to the
more convenient “AND” form using binary variables:
12
10
Y direction
∀i ∈ [0 . . . T ] : ∀p, q | q 6= p : uy qi ≥ −M b̂+
yipq1
and xip − xiq ≥ PW − M b̂+
yipq2
and xiq − xip ≥ PW − M b̂+
yipq3
and yip − yiq ≥ −M b̂+
(10)
yipq4
and yiq − yip ≥ PL − M b̂+
yipq5
5
X
+
and
b̂yipqk ≤ 4
Vehicle # 4 Clear
8
Plume box for +y thrust
6
Vehicle #2 Hit
4
2
k=1
Vehicle #3 Clear
Vehicle #1
0
−1
−0.5
0
0.5
1
1.5
2
2.5
3
X direction
Fig. 1: Plume associated with a thruster firing in
+y-direction (−y thrust). Rectangle extends length
5 (PL) in direction of the thruster firing, and ±0.3
in the cross direction (PW)
for all other vehicles in the fleet whenever a thruster
firing occurs. Figure 1 shows the modeled impingement region for a thruster firing in the +y-direction
from vehicle #1.
For the plume direction shown in Figure 1 and a
typical pair of vehicles p and q as described in the
previous section, the constraints to avoid plume impingement by vehicle p on vehicle q (in “OR” form)
are:
∀i ∈ [0 . . . T ] : ∀p, q | q 6= p : uy pi ≥ 0
or xip − xiq ≥ PW
or xiq − xip ≥ PW
or yip − yiq ≥ 0
or yiq − yip ≥ PL
(9)
where PW is the plume half-width and PL is the
plume length, as shown in Figure 1.
These conditions represent the five ways to avoid
plume impingement. The thrust uy pi from the pth
vehicle in the y-direction must be negative for the
plume in Figure 1 to occur. So, one way to avoid
this plume is for the y-direction thrust to be positive or zero, hence the first condition. The other
four represent the four sides of the exclusion box.
Relating the equations to Figure 1, p is 1, the firing
vehicle, and q may be 2, 3 or 4. Vehicle #3 is to one
side of the box, thus satisfying the third of the five
conditions. Vehicle #4 is beyond the plume length,
satisfying the final condition. Of course, similar constraints can be written for the other three directions.
The binary variables b̂+
yipqk perform the avoidance
logic for the plume from the pth vehicle in the +ydirection impinging on the q th vehicle at time step
i. These constraints can be written to account for
each thruster direction (±x and ±y for the 2D case)
on each vehicle at each time step. Note that the approach also easily extends to three-dimensions. The
resulting form is then similar to the set of linear constraints in Eqs. 8. The new constraints, Eq. 10, are
appended to the problem so far (Eqs. 4, 5 and 8).
The new binary variables b̂+
yipqk become additional
variables for the optimization.
SOFTWARE
The global optimization problem is readily solved by
a mixed integer program solver implemented in the
CPLEX software package [2]. Suitable input formats
for CPLEX are awkward to work with, but a convenient and intuitive interface is available through
the AMPL modeling language. We have therefore
used the AMPL-language [8] to formulate the path
planning problem.
Implementing the constraints in AMPL is straightforward, requiring minimal translation from the form
shown here. The variables, cost function and constraints are defined in a model file, while the parameter values are in a separate data file. Therefore, changes to the problem may be made without rebuilding the constraint expressions. AMPL
combines the model and data to generate a suitable
problem file and invokes CPLEX to find the solution.
In our implementation, the complete process of
forming and solving a problem is invoked by a Matlab script. System matrices and other parameters
are generated within Matlab and written to an AMPL
data file. AMPL is then called from Matlab to process another script, selecting the appropriate model
3
American Institute of Aeronautics and Astronautics
and data files, calling CPLEX and then writing the
resulting solution to an output data file. Finally, the
solution data is read back into Matlab for plotting.
The Matlab interface offers more flexible generation
of parameters and allows us to embed MILP optimization into a flexible programming environment.
same binary variables. With this modification, every member of a group must obey the same subcondition from Eq. 7. The original constraints are
still enforced at every step. There may be a cost
penalty due to the reduced decision space but the
computational complexity will be greatly reduced.
COMPUTATION ISSUES
EXAMPLES
This formulation can generate problems with very
high numbers of binary variables. This in turn can
lead to long computation times for some problems.
This section discusses some strategies for reducing
the computation time. The first and simplest of
these methods is to terminate the optimization search
prematurely, returning an acceptable, feasible but
possibly sub-optimal trajectory. CPLEX provides
several options for this purpose. The search can
be stopped when the best integer solution found is
within a specified tolerance of the corresponding relaxed LP solution, which is a lower bound on the
optimal solution. Also, a time limit for computation
can be specified, and if no other stopping criterion
is met within that time, the best result found will
be returned.
Other strategies make use of our knowledge of
the solution. For multiple free-flying vehicles, we
expect the optimal control to be a “bang-off-bang”
trajectory. During the coasting phase, when there is
no firing, the plume impingement constraints will be
inactive. Therefore, when designing the trajectory,
we might apply the plume constraints only at the
beginning and end of the maneuver. It is then necessary to post-analyze the design to ensure that no
impingements occur where the constraints are not
applied.
For closely-packed formations or vehicles moving
around large obstacles, the collision and plume constraints are always active and the “bang-off-bang”
assumption is no longer valid. In this case, we reduce the number of binary variables by using the
same binary variables for small groups of adjacent
time steps. In Eq. 8, the binary variables force the
vehicle to obey one of the or -constraints in Eq. 7
at each point. In the final design, it is likely that
successive time steps will obey the same one of the
or -conditions and therefore have the same binary
variable settings. We therefore group the time steps
such that small groups of adjacent steps ‘share’ the
2-D Vehicle Motion
The first example considers a simple two dimensional
system with three vehicles, each modeled as a mass
(m = 5) with thrusters that act in the ±x- and ±ydirections. The configuration was chosen to lead to
significant impingement and demonstrate the effect
of adding the new constraints. The following movements are required:
1. Vehicle #1 from (0, −8) to (1, 8)
2. Vehicle #2 from (0, −6) to (1.5, 8)
3. Vehicle #3 from (0, −4) to (1.5, 8.5)
Initially, the vehicles are positioned along a line in
the y-direction. Therefore, for vehicles #2 and #3
to apply thrust upwards would lead to impingement
on the vehicle below. The dynamics were discretized
using a time step of 1 second and the thruster limits
were set at 1. The collision avoidance was included
in both optimizations, with the minimum separation
equal to 0.1. The maneuvers were designed to last
31 seconds. The plume was assumed to be 5 units
in length (PL = 5) and 0.6 units wide (PW = 0.3).
Figure 2 shows the optimized trajectories without the plume impingement constraints. The symbols mark the vehicle locations at each time step,
and the corresponding thruster firings are shown by
lines (line length scales with thrust size). When
a plume impingement occurs, the position of the
vehicle firing the thruster is marked with •. Figure 4 gives more detail on the first and last two
time points, showing the plumes associated with the
thruster firings.
As expected from the initial alignment, there is
a significant number of impingements. Apart from
slight deviations to avoid collision, the vehicles follow straight line trajectories using “bang-off-bang”
control inputs. All three vehicles apply upward thrust
at the start of the maneuver. This causes vehicle #2
to impinge upon vehicle #1 and vehicle #3 to impinge upon both of the other two, seen in both the
4
American Institute of Aeronautics and Astronautics
Table 1: Fuel summary for 2D example.
Plume
constraint
No
Yes
30
3 X
X
j=1 k=0
|uxkj |
1.38
3.00
30
3 X
X
j=1 k=0
|uy kj |
15.56
17.64
first two time steps. At the penultimate time step,
the y-direction braking thrust from vehicle #2 impinges on vehicle #3. Then on the final step, the
x-direction firing plume from vehicle #1 hits vehicle #2.
The optimization was repeated using the additional impingement constraints. In this case, a significantly different set of trajectories were designed
to avoid the impingement problems at the beginning
and end of the maneuvers. The overall maneuver is
shown in Figure 3, with the details in Figure 5.
To avoid the impingements caused by the initial
y-direction firing, the vehicles first fire to move apart
in the x-direction, seen on the first time step. Vehicle #1 initially moves in the −x-direction, which is
opposite to the desired maneuver but has the benefit of moving vehicle #1 out from below vehicles #2
and #3. By the third step, vehicle #2 can fire in the
+y-direction without hitting #1. At the fifth step,
vehicle #3 is also able to fire clear of #1. Note that
vehicle #1 is then moving along the very edge of the
exclusion region from the plume of vehicle #3.
The situation is also very interesting at the end
of the maneuver. Vehicle #2 arrives first so that it
can fire (in the +y-direction) to stop without hitting
vehicle #3 (t=28). Vehicle #1 then fires early in
the +x-direction to avoid hitting vehicle #2 (t=29).
Similarly, vehicle #3 does not fire in the +x-direction
until after it has passed vehicle #2 (t=30).
Table 1 gives the fuel used for the two maneuvers, totaled for all vehicles but divided into x- and
y-directions of firing. As would be expected, the fuel
use increases for the maneuver designed with the
plume impingement. In the y-direction, the increase
is only 13%, but in the x-direction, the increase is
by more than a factor of two. Thus for this difficult combination of initial and final configurations,
the fuel used increases by approximately 21% when
the vehicles maneuver in a way that avoids plume
impingement.
Table 2: Computation for 2-D Example
No plume
constraint
With plume
constraint
Plume constraint
at start and end only
Time (secs)
10
350
225
Table 2 gives typical computation times for this
example. The times quoted are for the solution to
the optimization part only, running on a SUN Ultra5
workstation. These demonstrate the additional complexity added by the plume impingement constraints
and the large number of associated binary variables.
Since the trajectories designed here have “bangoff-bang” controls, we can use the technique described
in the ‘Computation Issues’ section of applying the
plume constraints at the start and end of the maneuver only. The third row of results in Table 2
shows the results when these constraints were enforced only on the first twelve and last eight of the
31 total time steps in the maneuver. It designed the
same trajectory as the fully-constrained version but
in less time, due to the reduced number of binary
variables in the problem.
Orbital Maneuver
In this example, three identical spacecraft of mass
30kg are initially separated along a line in-track.
They are required to reconfigure into a triangle in
the plane of the orbit in 9 minutes, one tenth of
a 90 minute orbit. The dynamics are the threedimensional linearized Hill’s Equations [12] for spacecraft in nearly circular orbits
ẍ
ÿ
z̈
= 2nẏ + 3n2 x + fx
= −2nẋ + fy
= −n2 z + fz
The x-coordinate is in the radial direction,
coordinate is in the in-track direction and
component is in the out-of-track direction.
equations of relative motion can be written
5
American Institute of Aeronautics and Astronautics
(11)
the ythe zThese
in the
Without Plume Constraints
With Plume Constraints
12
12
10
10
8
8
6
6
4
4
2
2
0
0
−2
−2
−4
−4
−6
−6
−8
−8
−10
−1
−10
−1
−0.5
0
0.5
1
1.5
2
2.5
Fig. 2: Full 3-vehicle planar reconfiguration maneuver optimized without including the plume impingement constraints. Location of Vehicle #1 is given by
◦, vehicle #2 by 2, and vehicle #3 by 3.
−0.5
Without Plume Constraints
1
1.5
2
2.5
Without Plume Constraints
12
1
10
6
6
4
4
Y direction
8
2
0
2
0
−2
−2
−4
−4
−6
−6
−8
−8
−0.5
0
0.5
1
1.5
2
10
8
−10
−1
2
−10
−1
2.5
−0.5
0
X direction
0.5
1
1.5
2
2.5
2
2.5
X direction
Without Plume Constraints
Without Plume Constraints
12
12
29
10
8
6
6
4
4
2
0
2
0
−2
−2
−4
−4
−6
−6
−8
−8
−10
−1
−0.5
0
0.5
1
X direction
1.5
30
10
8
Y direction
Y direction
0.5
Fig. 3: Full 3-vehicle planar reconfiguration maneuver optimized including the plume impingement constraints. Location of Vehicle #1 is given by ◦, vehicle
#2 by 2, and vehicle #3 by 3.
12
Y direction
0
2
2.5
−10
−1
−0.5
0
0.5
1
1.5
X direction
Figure 4: Time-steps from the 3-vehicle planar reconfiguration maneuver optimized without the
plume impingement constraints. Location of Vehicle #1 is given by ◦, vehicle #2 by 2,
and vehicle #3 by 3.
6
American Institute of Aeronautics and Astronautics
With Plume Constraints
With Plume Constraints (t=3)
12
12
1
8
6
6
4
4
2
0
2
0
−2
−2
−4
−4
−6
−6
−8
−8
−10
−1
−0.5
0
0.5
1
1.5
3
10
8
Y direction
Y direction
10
2
−10
−1
2.5
−0.5
0
X direction
With Plume Constraints
1.5
2
2.5
2
2.5
12
5
10
8
8
6
6
4
4
2
0
2
0
−2
−2
−4
−4
−6
−6
−8
−8
−10
−1
−0.5
0
0.5
1
1.5
28
10
Y direction
Y direction
1
With Plume Constraints (t=28)
12
2
−10
−1
2.5
−0.5
0
X direction
0.5
1
1.5
X direction
With Plume Constraints
With Plume Constraints
12
12
29
10
8
8
6
6
4
4
2
0
2
0
−2
−2
−4
−4
−6
−6
−8
−8
−10
−1
−0.5
0
0.5
1
X direction
1.5
30
10
Y direction
Y direction
0.5
X direction
2
2.5
−10
−1
−0.5
0
0.5
1
1.5
2
X direction
Figure 5: Six time-steps from the three-vehicle planar reconfiguration maneuver optimized includ-
ing the plume impingement constraints. The location of Vehicle #1 is given by the ◦,
vehicle #2 by the 2, and vehicle #3 by the 3.
7
American Institute of Aeronautics and Astronautics
2.5
100
100
50
50
0
0
−50
−50
−100
−100
−150
−150
−200
−200
−250
−250
−300
−50
ment at the beginning and end of the maneuver, as
seen in the previous example.
With PI Constraints
150
intrack
intrack
No PI Constraints
150
0
radial
−300
−50
50
0
radial
50
Fig. 6: Reconfiguration Maneuver Without Plume
Constraints (Left) and With Plume Constraints
(Right). The location of Vehicle #1 is given by the
4, vehicle #2 by the 2, and vehicle #3 by the ◦.
state space form



ẋ
0
 ẏ 
 0






 ż 
 0

 = 
 ẍ 
 3n2



 ÿ 
 0
0
z̈

0
 0


 0
+
 1

 0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
−n2

0
0 


0 

0 

0 
1
1
0
0
1
0
0
0
2n
−2n 0
0
0

fx
fy 
fz
0
0
1
0
0
0









x
y
z
ẋ
ẏ
ż

The right hand plot shows the redesigned trajectories to prevent plume impingement. Considerable
deviations from the previous case are evident. Vehicle #1 moves slowly at first, to allow the vehicles
beneath to escape its firing region, before firing intrack to move toward its target. Vehicle #2 moves
in the opposite direction, to avoid firing on #3 and
being fired upon by #1, before turning towards its
destination. Vehicle 3 is the only one free to fire
in-track from the beginning. It moves quickly away,
but has to approach its target point in the radial direction so its braking thrust does not impinge upon
the other vehicles. The fuel required for the maneuver avoiding impingement is equivalent to a ∆V of
7.097 m/s, compared with 5.033 m/s for the design
not considering impingement.
International Space Station Remote Camera








This problem involves a microsatellite being used
for external inspection of the ISS. The satellite is
required to move between specified start and end
points on opposite sides of the station without colliding with the structure or firing its thrusters at the
station. The collision avoidance part of this problem
was tackled in [20] using potential functions.
(12)
The dynamics are the Hill’s equations for a 90
minute orbit. The camera satellite is modeled as a
mass of 5kg with thrusters giving up to 1mN in each
direction. The ISS is modeled as a collection of fixed
obstacles as seen in Fig. 7. The plume constraints in
this problem are a modified form of Eq. 10 that prevents impingement upon fixed obstacles instead of
other vehicles. The maneuver lasts for 4000 seconds
and is discretized into 40 time steps.
This can then be discretized into the form of Eq. 3
and used as the system constraint for the optimization.
Each spacecraft has thrusters providing up to
0.2N in each direction. The plume avoidance regions
for the thrusters are 50m wide and extend 120m from
the spacecraft. Collision avoidance is also enforced
with a safety distance of 10m. The problem was
discretized into 20 time steps.
The left hand plot in Fig. 6 shows the trajectory
design ignoring plume impingement. Note that the
designed trajectories lie entirely within the orbital
plane, even though the full 3-D model was included
in the problem. The time available for the maneuver is relatively short, so substantial in-track firing is
required. This leads to considerable plume impinge-
This problem was first solved with collision avoidance constraints but ignoring plume impingement.
The designed trajectory can be seen in Fig. 7. The
final few steps show a braking thrust causing a plume
impingement. The total fuel use as ∆V is 0.236 m/s.
This result was found in 8.0 seconds of computation
time using a 1GHz PC with 256MB RAM.
Fig. 8 shows a close up of the trajectory redesigned
to prevent plume impingement showing just the final stages. Since the final position is in a corner
formed by two adjacent modules, the camera satel-
8
American Institute of Aeronautics and Astronautics
Time step
grouping
No PI
No grouping
Groups of 2
Groups of 3
Groups of 4
Fig. 7: ISS Camera Maneuver without Plume Constraints
Fig. 8: Final Stages of ISS Camera Maneuver with
Plume Constraints
lite must approach from the side to prevent its braking thrust from impinging on the station. The figure
shows the satellite making the necessary adjustment
to its course by firing while still clear of the station,
and its final approach leaves it requiring a braking
thrust in the only available direction. The total fuel
use as ∆V for this maneuver is 0.492 m/s. This
is over twice the amount needed for collision avoidance only, but the extra firing is needed to achieve
the final motion direction.
The complexity of this example makes it impractical to find the true optimal solution. We have
used the search termination techniques described in
the ‘Computation Issues’ section, limiting computation time to half an hour and specifying a tolerance for sub-optimal trajectory design. The result
shown in Fig. 8 was returned after the time limit was
Computation
time (s)
8
1800
1800
587
682
Fuel cost
∆V (m/s)
0.236
0.492
0.396
0.324
0.344
reached. It is not possible to simply reduce the number of time steps: too long a step, and the satellite
may be able to ‘jump through’ some of the thinner panel obstacles. Using 40 time steps avoids this
problem, but leads to very high numbers of binary
variables. To solve for collision avoidance alone involves roughly 1200 binary variables, while adding
plume constraints gives a total of some 9600 binary
variables in the problem.
Table 2 shows the results of the time step grouping technique discussed earlier. With groups of two
steps, the solver is still stopped by the time limit after half an hour. However, with the same computation time on a reduced search space, a lower fuel cost
is returned. With groups of three steps, a solution is
found to meet the sub-optimality criterion after just
under ten minutes. Again, the conservatism in the
result is offset by the more complete coverage of the
now-reduced search space. Increasing the grouping
to four adjacent steps causes an increase in both fuel
and solution time. The effect of the longer groups
is now apparent: there is a fuel penalty and it takes
longer to find feasible solutions. We conclude that
using groups of three adjacent time steps is the best
strategy for this problem.
CONCLUSIONS
This paper presents a new approach to trajectory
planning for multiple vehicles that avoids collisions
and plume impingement. A mathematical programming formulation has been proposed to express collisionand plume-avoidance as mixed integer/linear constraints upon a fuel optimization problem. The potential of the method has been shown in three examples. A ground vehicle guidance problem demonstrated the effect of the constraints and the efficiency
of the designed trajectories. The example of reconfiguring a satellite cluster involved more complicated
dynamics. Finally, the method was applied to ma-
9
American Institute of Aeronautics and Astronautics
neuvering a remote camera around the ISS. Future
work will involve more complex systems and rendezvous applications. The possibility of allowing a
limited occurrence of impingement will be investigated. Finally, we will consider more complex plume
models for the three-dimensional cases.
using carrier-phase differential GPS,” AAS 00109, 2000.
[11] M. Tillerson, G. Inalhan, and J. How, “Coordination and Control of Distributed Spacecraft
Systems Using Convex Optimization Techniques,” submitted to the International Journal
of Robust and Nonlinear Control, Nov. 2000.
ACKNOWLEDGMENTS
[12] M. H. Kaplan, Modern Spacecraft Dynamics
and Control Wiley, 1976.
The research was funded in part under Air Force
grant # F49620-99-1-0095 and NASA GSFC grant
#NAG5-6233-0005.
References
[1] T. Schouwenaars, B. DeMoor, E. Feron and
J. How, “Mixed integer programming for safe
multi-vehicle cooperative path planning,” to
appear at the 2001 ECC.
[2] ILOG CPLEX User’s guide. ILOG, 1999.
[3] http://www.mcs.net/˜rusaerog/pc/9-1897PC.html
[4] P. T. Spehar and T. Q. Le “Automating an Orbiter Approach to Space Station Freedom to
Minimize Plume Impingement” NASA Automated Rendezvous and Capture Review 1991.
[5] J. Barraquand, L.E. Kavraki, J.C. Latombe,
T.Y. Li, R. Motwani, and P. Raghavan, “A
random sampling scheme for path planning”
International Journal of Robotics Research,
16(6):759-774, 1997.
[6] C. A. Floudas, “Nonlinear and Mixed-Integer
Programming — Fundamentals and Applications,” Oxford University Press, 1995.
[7] H. P. Williams and S. C. Brailsford, “Computational Logic and Integer Programming,” in
Advances in Linear and Integer Programming,
Editor J. E. Beasley, Clarendon Press, Oxford,
1996, pp. 249—281.
[13] O. Khatib “Real-time obstacle avoidance for
manipulators and mobile robots,” International
Journal of Robotics Research, 1(5):90—98, 1986.
[14] J.-C. Latombe, Robot Motion Planning. Kluwer
Academic Publishers, 1991.
[15] T. Lozano-Perez, Spatial planning with polyhedral models. MIT Ph.D. Thesis (E.E.) 1980,
June 1980.
[16] K. Marti and S. Qu. “Path planning for robots
by stochastic optimization methods.” Int. Journal of Intelligent and Robotic Systems, September 1997.
[17] C. R. McInnes, “Potential function methods for
autonomous spacecraft guidance and control.”
AAS 95-447, 1995.
[18] A. Robertson, G. Inalhan, and J. P. How,
“Formation Control Strategies for a Separated
Spacecraft Interferometer,” in Proc. of 1999
ACC, (San Diego, CA), June 1999.
[19] A. Robertson, G. Inalhan, and J. P. How,
“Spacecraft Formation Flying Control Design
for the Orion Mission,” in Proceedings of
AIAA/GNC, August 1999.
[20] A. B. Roger and C. R. McInnes, “Safety Constrained Free-Flyer Path Planning at the International Space Station”, Journal of Guidance
Control and Dynamics, Vol. 23, No. 6, pp971979, Dec. 2000
[8] R. Fourer, D. M. Gay, and B. W. Kernighar,
AMPL, A modeling language for mathematical
programming, The Scientific Press, 1993.
[9] D. Hsu, J.-C. Latombe, and R. Motwani, “Path
planning in expansive configuration spaces,” International J. of Comp. Geom. and Applications, 1996.
[10] G. Inalhan, F. D. Busse, and J. P. How. “Precise
formation flying control of multiple spacecraft
10
American Institute of Aeronautics and Astronautics
Download