plume avoidance maneuver planning using mixed integer ...acl.mit.edu/papers/gnc01_milp.pdf4 6 8 10...

10
AIAA-2001-4091 Plume Avoidance Maneuver Planning Using Mixed Integer Linear Programming Arthur Richards Jonathan How Tom Schouwenaars Eric Feron § ABSTRACT This paper extends a recently-developed path plan- ning method to account for plume impingement, which is a key concern for on-orbit rendezvous and forma- tion ying spacecraft. The approach designs fuel- optimal trajectories for multiple vehicles using a com- bination of linear and integer programming. The ve- hicles are required to move from an initial dynamic state to a nal state without colliding with each other or ring the thrusters in a way that would hit another vehicle. This problem is written as a lin- ear program with mixed integer/linear constraints that prohibit collisions and plume impingements. A key benet of this approach is that the problem can be readily solved using the AMPL language and CPLEX optimization software with a Matlab inter- face. Examples are given of this method applied to satellite cluster reconguration, ISS remote camera maneuvering and ground vehicle guidance. 1 INTRODUCTION This paper presents the formulation of a mathemati- cal 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 re 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 sur- faces. This issue is discussed in Ref. [3] concerning Space Systems Laboratory, Massachusetts Institute of Technology, Cambridge MA 02139, [email protected] [email protected] [email protected] § [email protected] 1 Copyright c ° 2001 by the American Institute of Aeronautics and Astronautics, Inc. All rights reserved. Mir docking. Ref. [4] discusses the impingement of shuttle thrusters upon the solar arrays of the In- ternational Space Station during docking. In this case, the solar arrays must be designed to withstand the structural loading caused by the plume. Im- pingement is also a concern for formation ying of satellites, which is being investigated for future space science missions such as separated spacecraft inter- ferometers and distributed radar systems [19, 18, 10]. In these scenarios, spacecraft separations are of the order of 100 m and frequent thruster rings are needed to precisely align the various vehicles. A classical approach to collision avoidance, es- pecially in the eld of robot motion planning [14], is the use of potential functions [17, 13]. Other re- cently developed techniques include approaches such as randomized algorithms [5, 16]. Path planning techniques using graph searching and surface cover- ing [15] were developed earlier. The alternative ap- proach in this paper uses integer programming. Pre- vious work [1] has shown that collision avoidance can be expressed as integer constraints upon the fuel op- timization, 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 ex- pected, 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 mis- sions, the primary objective of this work is to design fuel-optimal trajectories. In this case, the arrival time is xed and the mathematical program is solved over that entire time range. The desired nal state (at time step T ) is given, so the cost function for one 1 American Institute of Aeronautics and Astronautics

Upload: others

Post on 30-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

AIAA-2001-4091

Plume Avoidance Maneuver Planning Using Mixed

Integer Linear Programming

Arthur Richards ∗ Jonathan How † Tom Schouwenaars ‡ Eric Feron §

ABSTRACT

This paper extends a recently-developed path plan-

ning method to account for plume impingement, which

is a key concern for on-orbit rendezvous and forma-

tion flying spacecraft. The approach designs fuel-

optimal trajectories for multiple vehicles using a com-

bination of linear and integer programming. The ve-

hicles 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 lin-

ear 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 inter-

face. 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 mathemati-

cal 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 sur-

faces. This issue is discussed in Ref. [3] concerning

∗ Space Systems Laboratory, Massachusetts Institute ofTechnology, Cambridge MA 02139, [email protected]

[email protected][email protected]§ [email protected] Copyright c° 2001 by the American Institute of

Aeronautics and Astronautics, Inc. All rights reserved.

Mir docking. Ref. [4] discusses the impingement of

shuttle thrusters upon the solar arrays of the In-

ternational Space Station during docking. In this

case, the solar arrays must be designed to withstand

the structural loading caused by the plume. Im-

pingement is also a concern for formation flying of

satellites, which is being investigated for future space

science missions such as separated spacecraft inter-

ferometers 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, es-

pecially in the field of robot motion planning [14],

is the use of potential functions [17, 13]. Other re-

cently developed techniques include approaches such

as randomized algorithms [5, 16]. Path planning

techniques using graph searching and surface cover-

ing [15] were developed earlier. The alternative ap-

proach in this paper uses integer programming. Pre-

vious work [1] has shown that collision avoidance can

be expressed as integer constraints upon the fuel op-

timization, 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 ex-

pected, 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 mis-

sions, 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

Page 2: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

vehicle is

J =

T−1Xi=0

nuXj=1

|uij | (1)

where uij denotes the jth component of the nu × 1

input vector at the ith time step. Thus the calcu-

lated path is designed to minimize the fuel used for

that specific time range. The extension to the mul-

tiple (K) vehicle case is straightforward. In the case

that the arrival times of all vehicles are the same,

the cost function becomes

J =

KXp=1

T−1Xi=0

nuXj=1

|up ij | (2)

where up ij denotes the jth 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 op-

timize 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 (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:

minu,x

J = minu,x

KXp=1

T−1Xi=0

nuXj=1

|up ij | (4)

subject to (∀p ∈ [1 . . .K] and ∀i ∈ [1 . . . T ])xp i+1 = Axp i + Bup i

with xp 0 = xp0 and xpT = 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 re-

quired 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 ve-

hicle. Considering planar motion for simplicity of

exposition, denote the positions of vehicles p and q

at time step i as (xip , yip ) and ( xiq , yiq ) respec-

tively. Let the safety distance be denoted by d. The

necessary constraints can then be written as follows:

∀i ∈ [1 . . . T ] : ∀p, q | q > p :|xip − xiq| ≥ d or |yip − yiq| ≥ d (6)

The condition q > p avoids duplication of the con-

straints 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

∀i ∈ [1 . . . T ] : ∀ p, q | q > p :xip − xiq ≥ d−Mbipq1

and xiq − xip ≥ d−Mbipq2and yip − yiq ≥ d−Mbipq3and yiq − yip ≥ d−Mbipq4and

4Xk=1

bipqk ≤ 3

(8)

whereM is a large arbitrary positive number, greater

than any separation that might occur in the prob-

lem, 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 kth 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 optimiza-

tion.

Multiple Vehicles: Plume Impingement

This formulation can be extended to account for

plume impingement. In this case, the thruster fir-

ings for the vehicle maneuvers are restricted to avoid

impinging on the other vehicles in the fleet. The cur-

rent 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

Page 3: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

−1 −0.5 0 0.5 1 1.5 2 2.5 3

0

2

4

6

8

10

12

Vehicle #1

Plume box for +y thrust

Vehicle #2 Hit

Vehicle #3 Clear

Vehicle # 4 Clear

X direction

Y d

irect

ion

Fig. 1: Plume associated with a thruster firing in

+y-direction (−y thrust). Rectangle extends length5 (PL) in direction of the thruster firing, and ±0.3in the cross direction (PW)

for all other vehicles in the fleet whenever a thruster

firing occurs. Figure 1 shows the modeled impinge-

ment 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 im-

pingement by vehicle p on vehicle q (in “OR” form)

are:

∀i ∈ [0 . . . T ] : ∀p, q | q 6= p : uypi ≥ 0

or xip − xiq ≥ PWor xiq − xip ≥ PWor 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 uypi 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 pos-

itive 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 con-

straints can be written for the other three directions.

These constraints can also be converted to the

more convenient “AND” form using binary variables:

∀i ∈ [0 . . . T ] : ∀p, q | q 6= p : uyqi ≥ −Mb+yipq1and xip − xiq ≥ PW −Mb+yipq2and xiq − xip ≥ PW −Mb+yipq3and yip − yiq ≥ −Mb+yipq4and yiq − yip ≥ PL−Mb+yipq5and

5Xk=1

b+yipqk ≤ 4

(10)

The binary variables b+yipqk perform the avoidance

logic for the plume from the pth vehicle in the +y-

direction impinging on the qth 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 ap-

proach also easily extends to three-dimensions. The

resulting form is then similar to the set of linear con-

straints 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 con-

venient 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 straight-

forward, requiring minimal translation from the form

shown here. The variables, cost function and con-

straints are defined in a model file, while the pa-

rameter values are in a separate data file. There-

fore, changes to the problem may be made with-

out 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 Mat-

lab script. System matrices and other parameters

are generated within Matlab and written to an AMPL

data file. AMPL is then called from Matlab to pro-

cess another script, selecting the appropriate model

3

American Institute of Aeronautics and Astronautics

Page 4: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

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 opti-

mization into a flexible programming environment.

COMPUTATION ISSUES

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 re-

laxed 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 nec-

essary 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 con-

straints are always active and the “bang-off-bang”

assumption is no longer valid. In this case, we re-

duce 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

same binary variables. With this modification, ev-

ery member of a group must obey the same sub-

condition 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.

EXAMPLES

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 ±y-directions. The configuration was chosen to lead to

significant impingement and demonstrate the effect

of adding the new constraints. The following move-

ments 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 with-

out the plume impingement constraints. The sym-

bols 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 •. Fig-ure 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 fol-

low 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 im-

pinge upon both of the other two, seen in both the

4

American Institute of Aeronautics and Astronautics

Page 5: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

Table 1: Fuel summary for 2D example.

Plume

constraint

3Xj=1

30Xk=0

|uxkj |3Xj=1

30Xk=0

|uykj |

No 1.38 15.56

Yes 3.00 17.64

first two time steps. At the penultimate time step,

the y-direction braking thrust from vehicle #2 im-

pinges on vehicle #3. Then on the final step, the

x-direction firing plume from vehicle #1 hits vehi-

cle #2.

The optimization was repeated using the addi-

tional impingement constraints. In this case, a sig-

nificantly 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. Vehi-

cle #1 initially moves in the −x-direction, which isopposite to the desired maneuver but has the bene-

fit 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 maneu-

vers, 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 diffi-

cult 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

Time (secs)

No plume 10

constraint

With plume 350

constraint

Plume constraint 225

at start and end only

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 com-

plexity added by the plume impingement constraints

and the large number of associated binary variables.

Since the trajectories designed here have “bang-

off-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 ma-

neuver only. The third row of results in Table 2

shows the results when these constraints were en-

forced 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 three-

dimensional linearized Hill’s Equations [12] for space-

craft in nearly circular orbits

x = 2ny + 3n2x+ fxy = −2nx+ fyz = −n2z + fz

(11)

The x-coordinate is in the radial direction, the y-

coordinate is in the in-track direction and the z-

component is in the out-of-track direction. These

equations of relative motion can be written in the

5

American Institute of Aeronautics and Astronautics

Page 6: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12Without Plume Constraints

Fig. 2: Full 3-vehicle planar reconfiguration maneu-

ver optimized without including the plume impinge-

ment constraints. Location of Vehicle #1 is given by

◦, vehicle #2 by 2, and vehicle #3 by 3.

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12With Plume Constraints

Fig. 3: Full 3-vehicle planar reconfiguration maneu-

ver optimized including the plume impingement con-

straints. Location of Vehicle #1 is given by ◦, vehicle#2 by 2, and vehicle #3 by 3.

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

1

X direction

Y d

irect

ion

Without Plume Constraints

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

29

X direction

Y d

irect

ion

Without Plume Constraints

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

2

X direction

Y d

irect

ion

Without Plume Constraints

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

30

X direction

Y d

irect

ion

Without Plume Constraints

Figure 4: Time-steps from the 3-vehicle planar reconfiguration maneuver optimized without theplume 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

Page 7: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

1

X direction

Y d

irect

ion

With Plume Constraints

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

3

X direction

Y d

irect

ion

With Plume Constraints (t=3)

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

5

X direction

Y d

irect

ion

With Plume Constraints

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

28

X direction

Y d

irect

ion

With Plume Constraints (t=28)

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

29

X direction

Y d

irect

ion

With Plume Constraints

−1 −0.5 0 0.5 1 1.5 2 2.5−10

−8

−6

−4

−2

0

2

4

6

8

10

12

30

X direction

Y d

irect

ion

With Plume Constraints

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

Page 8: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

−50 0 50−300

−250

−200

−150

−100

−50

0

50

100

150

radial

intr

ack

With PI Constraints

−50 0 50−300

−250

−200

−150

−100

−50

0

50

100

150

radial

intr

ack

No PI Constraints

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

x

y

z

x

y

z

=

0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 0 0 1

3n2 0 0 0 2n 0

0 0 0 −2n 0 0

0 0 −n2 0 0 0

x

y

z

x

y

z

+

0 0 0

0 0 0

0 0 0

1 0 0

0 1 0

0 0 1

fxfyfz

(12)

This can then be discretized into the form of Eq. 3

and used as the system constraint for the optimiza-

tion.

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 maneu-

ver is relatively short, so substantial in-track firing is

required. This leads to considerable plume impinge-

ment at the beginning and end of the maneuver, as

seen in the previous example.

The right hand plot shows the redesigned trajec-

tories to prevent plume impingement. Considerable

deviations from the previous case are evident. Ve-

hicle #1 moves slowly at first, to allow the vehicles

beneath to escape its firing region, before firing in-

track 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 di-

rection so its braking thrust does not impinge upon

the other vehicles. The fuel required for the maneu-

ver 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 col-

liding with the structure or firing its thrusters at the

station. The collision avoidance part of this problem

was tackled in [20] using potential functions.

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 pre-

vents impingement upon fixed obstacles instead of

other vehicles. The maneuver lasts for 4000 seconds

and is discretized into 40 time steps.

This problem was first solved with collision avoid-

ance 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 fi-

nal stages. Since the final position is in a corner

formed by two adjacent modules, the camera satel-

8

American Institute of Aeronautics and Astronautics

Page 9: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

Fig. 7: ISS Camera Maneuver without Plume Con-

straints

Fig. 8: Final Stages of ISS Camera Maneuver with

Plume Constraints

lite must approach from the side to prevent its brak-

ing 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 avoid-

ance only, but the extra firing is needed to achieve

the final motion direction.

The complexity of this example makes it imprac-

tical to find the true optimal solution. We have

used the search termination techniques described in

the ‘Computation Issues’ section, limiting compu-

tation time to half an hour and specifying a toler-

ance for sub-optimal trajectory design. The result

shown in Fig. 8 was returned after the time limit was

Time step Computation Fuel cost

grouping time (s) ∆V (m/s)

No PI 8 0.236

No grouping 1800 0.492

Groups of 2 1800 0.396

Groups of 3 587 0.324

Groups of 4 682 0.344

reached. It is not possible to simply reduce the num-

ber of time steps: too long a step, and the satellite

may be able to ‘jump through’ some of the thin-

ner panel obstacles. Using 40 time steps avoids this

problem, but leads to very high numbers of binary

variables. To solve for collision avoidance alone in-

volves 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 group-

ing technique discussed earlier. With groups of two

steps, the solver is still stopped by the time limit af-

ter half an hour. However, with the same computa-

tion 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 program-

ming formulation has been proposed to express collision-

and plume-avoidance as mixed integer/linear con-

straints upon a fuel optimization problem. The po-

tential of the method has been shown in three ex-

amples. A ground vehicle guidance problem demon-

strated the effect of the constraints and the efficiency

of the designed trajectories. The example of recon-

figuring a satellite cluster involved more complicated

dynamics. Finally, the method was applied to ma-

9

American Institute of Aeronautics and Astronautics

Page 10: Plume Avoidance Maneuver Planning Using Mixed Integer ...acl.mit.edu/papers/GNC01_MILP.pdf4 6 8 10 12 Vehicle #1 Plume box for +y thrust Vehicle #2 Hit Vehicle #3 Clear Vehicle # 4

neuvering a remote camera around the ISS. Future

work will involve more complex systems and ren-

dezvous applications. The possibility of allowing a

limited occurrence of impingement will be investi-

gated. Finally, we will consider more complex plume

models for the three-dimensional cases.

ACKNOWLEDGMENTS

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-18-

97PC.html

[4] P. T. Spehar and T. Q. Le “Automating an Or-

biter Approach to Space Station Freedom to

Minimize Plume Impingement” NASA Auto-

mated 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 Applica-

tions,” Oxford University Press, 1995.

[7] H. P. Williams and S. C. Brailsford, “Compu-

tational Logic and Integer Programming,” in

Advances in Linear and Integer Programming,

Editor J. E. Beasley, Clarendon Press, Oxford,

1996, pp. 249—281.

[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,” In-

ternational J. of Comp. Geom. and Applica-

tions, 1996.

[10] G. Inalhan, F. D. Busse, and J. P. How. “Precise

formation flying control of multiple spacecraft

using carrier-phase differential GPS,” AAS 00-

109, 2000.

[11] M. Tillerson, G. Inalhan, and J. How, “Coor-

dination and Control of Distributed Spacecraft

Systems Using Convex Optimization Tech-

niques,” submitted to the International Journal

of Robust and Nonlinear Control, Nov. 2000.

[12] M. H. Kaplan, Modern Spacecraft Dynamics

and Control Wiley, 1976.

[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 poly-

hedral 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. Jour-

nal of Intelligent and Robotic Systems, Septem-

ber 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 Con-

strained Free-Flyer Path Planning at the Inter-

national Space Station”, Journal of Guidance

Control and Dynamics, Vol. 23, No. 6, pp971-

979, Dec. 2000

10

American Institute of Aeronautics and Astronautics