Professional Documents
Culture Documents
Abstract—In this work, a Predictive Control formulation for the total time to carry out all the tasks (visit all the target sets),
trajectory planning with multiple target sets is proposed, which instead of setting a single target set to be reached at every step.
solves the problem of performing all tasks in finite time via In the present work a formulation to solve the trajectory
minimization of a weighted-time-fuel cost function, generating a
feasible trajectory. An approach involving a procedure to order planning problem with multiple target sets (termed Multitask
the list of the target sets to be visited in terms of the distance Trajectory Planning) in the presence of obstacles is proposed.
between them is used for comparison and it is shown that the Simulation results with a fictional vehicle are presented in
proposed technique outperforms this approach in terms of time order to illustrate the success of the proposed technique. For
and fuel spent to accomplish the mission. comparison, the formulation presented in [4] with a single
Index Terms—Predictive control, trajectory planning, target
set.
terminal target set was used with a list of sets to be visited,
which was updated upon reaching each one of them. This list
was ordered according to a criterion based on minimal distance
I. I NTRODUCTION
between the initial position of the vehicle and the first target
In the context of aircraft guidance and control, the path set as well as between the current target set and the next one.
planning problem becomes more complex than the simple The remainder of this paper is organized as follows. In
search for a curve that connects the starting point to the goal Section II, the Predictive Control formulation adopted in the
while avoiding obstacles. Some of the reasons for that include present work and proposed in [4] is presented, which involves
the presence of dynamic constraints, usually in the form minimizing a weighted-time-fuel cost function that penalizes
of velocity and acceleration limits, the need for a feedback the time to reach a given terminal set in the presence of
control strategy in real time in order to make the system robust obstacles. The approach for trajectory planning with multiple
to atmospheric disturbances, and constraints on the amount of target sets is proposed later in Section III. Section IV presents
fuel available to execute the maneuver [1]. the set ordering technique used for comparison. Simulation
Model-based Predictive Control (MPC) techniques have results of the application of both approaches are presented
been increasingly employed in the aeronautical industry [2] and discussed in Section V. Finally, conclusions are drawn
due to their ability to handle constraints on inputs and states and suggestions for future work are given in Section VI.
of the plant [3]. More recently, MPC formulations as the one
II. MPC F ORMULATION
proposed in [4] have been used to perform trajectory planning
for autonomous vehicles. Many particularities of the trajectory The formulation employed in this work is similar to the one
planning problem have been addressed in [4], namely the adopted in [4], with exception of the contribution related to
task of reaching a terminal set in finite time, while avoiding the inclusion of multiple target sets, which will be introduced
obstacles. Through the introduction of a variable horizon, it is in Section III. The problem is recast in a Mixed-Integer Linear
possible to calculate the smallest horizon needed to reach the Programming (MILP) form much in the same way as in [4],
terminal set by solving a Mixed Integer Linear Programming again with exception of the inclusion of multiple target sets
(MILP) problem. Thus, a minimum time trajectory between in Section III.
a source point and a target set can be determined by using Figure 1 presents the basic elements of a predictive con-
a kinematic model of the vehicle. Moreover, by enhancing troller operating in discrete time, namely:
the model with rigid body dynamics and characteristics of • A model used to predict the state of the plant over a
actuators, this problem can be extended to a more elaborate horizon of N steps in the future, based on the current
guidance and vehicle control framework. The MILP formu- state x(k) and the control sequence {û(k + j|k)}, j =
lation also circumvents the difficulties brought about by the 0, . . . , N − 1 to be applied.
introduction of obstacles, particularly the loss of convexity of • An algorithm to optimize the control sequence regarding
the set of admissible solutions. the cost function specified for the problem and the
However, a mission may require that the vehicle visits a existing constraints on inputs and states of the plant.
number of sets. In this scenario, it may be convenient to The notation used is as follows: u ∈ Rp and x ∈ Rn denote
consider all sets in the trajectory planning in order to minimize ˆ +
the input and state variables of the plant, respectively. ♦(k
516
Therefore the problem is defined with a fixed horizon N̄ time or minimum fuel solution, since the criteria employed
and a linear cost involving real and integer variables subject to order the list of target sets do not consider the dynamics
to linear constraints. Thus, algorithms for MILP can be used of the vehicle and constraints over the variables. Therefore,
to obtain the optimal control sequence. a framework which is capable of considering multiple target
sets within the solution of the Predictive Control trajectory
B. Obstacle avoidance planning problem may bring about interesting results regarding
In problems involving the guidance of vehicles, the presence the optimal solution to the trajectory planning problem.
of obstacles is usual, such as buildings, hills, dangerous areas It is assumed that the Nts target sets are defined as in Eq.
to avoid, among others. In the presence of such obstacles the (3), in terms of linear inequalities:
set of admissible states will no longer be convex. In [7], a
Qh = {x : pTh,i x ≤ qh,i , i = 1, . . . , NQ h },
form of dealing with polygonal obstacles through the use of
MILP was proposed. ph,i ∈ Rn , qh,i ∈ R, i = 1, . . . , NQ h , (10)
The constraint that the trajectory in space does not cross the h = 1, . . . , Nts
obstacle can be written as r = Cr x ∈ / Z, in which matrix Cr in which Qh is the h-th target set and NQ h is the number of
extracts the position information from the state vector and Z = inequalities used to describe it.
{r|P o r ≤ q o } defines an obstacle in the form of a polygon Since the vehicle only needs to visit each target set at one
with Nf sides. It is therefore required that the position r is sample time, the constraints can be rewritten as:
not in the set Z at each sampling time, which is equivalent to
imposing that the set I = {i ∈ {1, . . . , Nf } : Pio r > qio } 6= ∅ pTh,i x̂(k + j + 1|k) ≤ qh,i + M [1 − bh (j)],
(11)
where Pi is the i-th row of P o and qi , the i-th element of q o . i = 1, . . . , NQ h , h = 1, . . . , Nts .
To this end, binary variables can be used as follows: where M > 0 is a constant and bh (j) is a binary decision
variable defined as
− Pio r(k + j) ≤ −qio + Mo [1 − boi (k + j)] − ǫ
Nf 1, if j = Nh ,
bh (j) = (12)
0, if j 6= Nh
X
boi (k + j) ≥ 1, boi ∈ {0, 1}, 1 ≤ j ≤ N
i=1 in which Nh is the number of sample times that the vehicle
Thus, when boi (k + j) = 1, the constraint is effectively takes to reach the h-th target set from the current position. For
enforced. If boi (k +j) = 0, with a large enough scalar Mo > 0, example, if the vehicle takes 2 sample times to reach the first
P Nf o
the constraint becomes inactive. The condition i=1 bi (k + target set from the starting position and 3 more to go from the
j) ≥ 1 requires that at least one of the constraints is active at first target set to the second, then N1 = 2 and N2 = 5.
every sampling time, ensuring that the position r is “outside” An auxiliary variable has to be introduced in order to
the obstacle. ǫ > 0 is chosen arbitrarily small so that the consider the minimization of the horizon to visit all of the
inequality “≤” becomes “<”, thus removing the border of the target sets. This variable in be defined as:
obstacle from the set of allowed positions.
Nf = max (Nh ), h = 1, . . . ,Nts (13)
III. P ROPOSED M ULTITASK T RAJECTORY P LANNING Through the introduction of a new sequence of binary
T ECHNIQUE variables {bf (j), j = 1, . . . ,N̄ }, it is possible to penalize this
The contribution of the present paper is the proposition of horizon Nf to visit all of the target sets by rewriting the cost
a novel method to enhance the capability of the trajectory function in Eq. (6) as:
planning technique proposed in [4] to visit Nts ≥ 1 target
N̄
sets Q1 , Q2 , . . . QNts . This inclusion is in accordance with X
J(k) = (jbf (j) + γ kû(k + j|k)k1 ) (14)
real-world mission demands, which usually require that the
j=0
autonomous vehicle visits more than one target. In this context,
one alternative is to arrange all target sets in a sequence to be with
1, if j = Nf ,
visited. This arrangement may be performed by considering bf (j) = (15)
0, if j 6= Nf
some optimization criteria, such as minimal distance from
the starting position of the vehicle to define the first set and subject to additional constraints
then, minimal distance between sets, choosing the next set N̄
to be visited as the closest to the last visited one, until all X
bh (j) = 1, h = 1, . . . ,Nts (16)
sets have been included in the sequence. With this sequence
j=0
at hand, one can divide the problem in Nts single-target
N̄
trajectory planning problems and solve each of them using the X
bf (j) = 1, (17)
framework proposed in [4]. Upon reaching the target set for the
j=0
current problem, it is replaced with the subsequent one in the PNts Pj
pre-established order. This procedure is repeated until the final h=1 i=0 bh (i)
bf (j) ≤ (18)
target set is reached. However, this may not yield the minimum Nts
517
The constraint in Eq. (16) ensures that each target set is In the following, the first part will be detailed, as it is the
visited at least once, whereas the ones in Eqs. (17) and (18) most cumbersome one, since the second involves only a test
make sure that the definitions of Eqs. (13) and (15) are applied. of pertinence of a point to a set and an update to the list of
The only step left is to remove the state and control target sets.
constraints after Nf . This is performed by replacing b(m) in The first part can be divided into two main algorithms,
Eq. (9) by bf (m): requiring only a list of the Nts target sets (SetList) in
j−1
X arbitrary order. In the first algorithm (Algorithm 2), x0 is the
T
ri,x x̂(k + j|k) ≤ qix + Mx bf (m), i = 1, . . . , Nx initial state and Cr , a matrix that extracts position information
m=1 from the state vector, thus Cr x0 is the initial position of
j−1
X the vehicle. dist(α,Ω) is a function that returns the minimal
T
rl,u û(k + j − 1|k) ≤ qlu + Mu bf (m), l = 1, . . . , Nu distance between a point α and a set Ω (employing 2-norm):
m=1
(19)
The formulation presented in this section allows for plan- dist(α,Ω) = minα,β kα − βk2
(20)
ning a trajectory which visits all the sets while minimizing s.t. β ∈ Ω
the cost function penalizing the overall time taken to perform
the mission and the amount of fuel spent. However, when
receding horizon feedback control has to be implemented, it If Ω is a convex polygon, dist(α,Ω) can be evaluated by
is important to have a logic which removes a set that has using a quadratic programming solver.
already been visited, in order to avoid visiting the same sets
over and over. The algorithm described bellow is proposed to
circumvent this issue. This algorithm has to be run at every
sampling time before calculating the control sequence: Algorithm 2: Determine the closest set to the initial position
1: d←∞
Algorithm 1: Remove a set from the list after visiting it
2: for i = 1 → Nts do
3: if d ≥ dist(Cr x0 ,SetList(i)) then
1: for i = 1 → Nts do 4: d ← dist(Cr x0 ,SetList(i))
2: if x(k) ∈ SetList(i) then 5: ClosestSet ← i
3: SetList ← SetList\SetList(i) 6: end if
4: Nts ← Nts − 1 7: end for
5: end if 8: OrdList(1) ← SetList(ClosestSet)
6: end for 9: SetList ← SetList\SetList(ClosestSet)
518
6
(i + 1)-th element, for i = 1, . . . ,Nts − 1. This list may
be used to provide the terminal target set for the trajectory
5 (a) planner formulation presented in [4]. An algorithm similar to
Algorithm 1 may then be used to update the ordered list of
4
sets to be visited (OrdList).
ry 3 V. R ESULTS
This Section contains two subsections: the simulation sce-
, Ω)
2
t( α nario is described in Subsection V-A and the simulation results
dis
are presented and discussed in Subsection V-B.
Ω
1
α A. Simulation Scenario
0 A kinematic model describing the movement of a vehicle in
0 1 2 3 4 5 6
rx two dimensions was employed for simulation. The continuous-
6 time model equations are:
ṙx = vx , v̇x = ax , ṙy = vy , v̇y = ay (22)
5 (b)
where rx and ry define the position of the vehicle in a
4 dist(Γ, Ω) horizontal plane with respect to an arbitrary origin. This
equation can be recast in state-space form (ẋ = Ac x + Bc u)
ry by defining the state and control vectors as
3 Γ
T T
x = [rx vx ry vy ] , u = [ax ay ] (23)
2
For use in the proposed MPC approach with trajectory
Ω
1 planning, a discrete-time model of the form x(k + 1) =
Ax(k) + Bu(k) was obtained with
0
0.5T 2
0 1 2 3
rx
4 5 6 1 T 0 0 0
0 1 0 0 T 0
A= 0 0 1 T ,B = 0
(24)
0.5T 2
Fig. 2. Illustration of function dist(·,·) involving (a) a point α and a set Ω
and (b) two sets Γ and Ω. 0 0 0 1 0 T
in which T is the sampling period. For the simulations in this
paper T was normalized to one time unit.
Algorithm 3: Order the sets from the first to the last, based The dynamical constraints imposed on the velocities were
on smallest distance between them −1 ≤ x2 , x4 ≤ 1. As for the accelerations, the imposed limits
were −5 ≤ u1 , u2 ≤ 5.
Constraints 0 ≤ x1 , x3 ≤ 2 were also imposed on the
1: No ← 1
position in order to limit it to the known terrain, over which
2: while Nelem (SetList) 6= 0 do
information was assumed to be available.
3: d←∞
The initial state of the vehicle was arbitrarily set to xT0 =
4: for i = 1 → Nelem (SetList) do
[0 0 0 0]T , i. e., it started at rest. The obstacle region was
5: if d ≥ dist(OrdList(No ),SetList(i)) then
represented as a rectangle with 0.6 ≤ x1 , x3 ≤ 1. It is
6: d ← dist(OrdList(No ),SetList(i))
worth noting that, since only the discrete-time predictions of
7: ClosestSet ← i
the position are considered in the inequalities, this does not
8: end if
avoid stretches of the continuous-time trajectory crossing the
9: end for
obstacle. One alternative to handle this issue is proposed in [8],
10: OrdList(No + 1) ← SetList(ClosestSet)
which involves incorporating restrictions on the transition of
11: SetList ← SetList\SetList(ClosestSet)
the vehicle to each region of the space defined by obstacle in-
12: No ← No + 1
equalities. However, it entails the introduction of more binary
13: end while
variables, increasing the complexity of the MILP problem. As
an alternative, in this work, the length and width of the obstacle
were expanded. To this end, an amount determined through the
By employing Algorithms 2 and 3, the result is an ordered maximal admissible absolute value of the velocity in each axis
list of the target sets OrdList containing the set which is was used to expand the borders of the obstacle. Therefore, the
the closest to the initial position of the vehicle as its first adopted avoidance constraints were constructed based on the
element and the set that is the closest to the i-th set as the following expanded obstacle: 0.5 ≤ x1 , x3 ≤ 1.1.
519
2
Target sets (TS)
1.8 Expanded obstacle
Obstacle
1.6 Initial position
The weight γ of the fuel in the cost function was set to Path
1.4
0.1. The maximal horizon was set to N̄ = 35. Two missions
1.2
were simulated, each containing Nts = 3 rectangular target
ry TS1 TS3
sets. The inequalities describing the target sets are presented 1
in Table I. 0.8
TABLE I 0.6
TARGET SETS OF THE TWO SIMULATED EXAMPLES
0.4
TS2
Example 0.2
Target set
1 2
0.2 ≤ x1 ≤ 0.3 1.2 ≤ x1 ≤ 1.3 0
1 0 0.5 1 1.5 2
0.9 ≤ x3 ≤ 1.0 0.8 ≤ x3 ≤ 0.9 rx
0.5 ≤ x1 ≤ 0.6 0.8 ≤ x1 ≤ 0.9
2
0.2 ≤ x3 ≤ 0.3 1.7 ≤ x3 ≤ 1.8
Fig. 3. Trajectory resulting from the use of the proposed multitask planning
1.2 ≤ x1 ≤ 1.3 0.2 ≤ x1 ≤ 0.3 and control for Example 1.
3
0.9 ≤ x3 ≤ 1.0 0.7 ≤ x3 ≤ 0.8
5 ax
All simulations were carried out in a personal computer ay
4
equipped with a Pentium
R
Dual-Core E5400 processor with
2.7GHz clock. For solution of the MILP, the CPLEX toolbox 3
−1
B. Simulation Results
−2
Figure 3 shows the trajectory in the horizontal plane ob- −3
tained by employing the multitask planning technique with −4
the target sets of Example 1 in Table I. It can be seen that −5
all targets were visited once and the obstacle region was not 0 0.3 0.6 0.9 1.2 1.5 1.8 2.1
crossed. It is worth remarking that the expanded obstacle t[s]
region is crossed, but not the original obstacle, in agreement
with the policy of expanding the obstacle in order to avoid Fig. 4. Control action resulting from the use of the proposed multitask
planning and control for Example 1.
collisions. From Table I, it is possible to note that the first
visited target was target set number 2, the second was number
1 and the last, number 3. This shows that the order in which the
targets are visited does not depend on the order that they are
informed to the planner, because it chooses the visiting order
in terms of the solution which provides the minimum cost as a second target set is only informed for the planner/controller
a compromise between the overall mission accomplishment at the time the vehicle reaches the first target set. Again, as
time and the fuel spent. Moreover, as shown in Fig. 4, the shown in Fig. 6, the accelerations ax and ay remained within
accelerations ax and ay (which correspond to the controls u1 the ±5 bounds.
and u2 , respectively) remained within the ±5 bounds. The target sets were reached at times k = 6, k = 14 and
The target sets were reached at times: k = 7, k = 13 and k = 26. As can be seen, the overall time to accomplish the
k = 23. The fuel cost was 62.50 and the overall cost, 29.25. mission (26 sampling times) was three sampling times larger
For comparison, Fig. 5 shows the trajectory in the horizontal than the one observed with the multitask planning and control
plane generated by the minimum-distance trajectory planning technique (23 sampling times). The fuel cost was 65.47 and
algorithm described in Section IV. It can be seen that the the overall cost was 32.55, both larger than the corresponding
minimum-distance choice for ordering the sets to be visited values obtained with the multitask planning.
resulted in the same order as that of the multitask receding Figure 7 shows the trajectory in the horizontal plane ob-
horizon planning and control shown in Fig. 3. However, tained by using the multitask planning technique in Example
the vehicle is now required to make a sharper turn after 2. Again, the obstacle was not crossed and all targets were
reaching the first target set and passes closer to the obstacle as visited once. The first visited target was target set number 3,
compared to the first case, which is a result of the fact that the the second was number 2 and the last, number 1. It can be
optimization is not global in this case, since the presence of seen in Fig. 8 that the accelerations ax and ay remained within
520
2 2
Target sets (TS) Target sets (TS)
Expanded obstacle TS2 Expanded obstacle
1.8 1.8
Obstacle Obstacle
1.6 Initial position 1.6 Initial position
Path Path
1.4 1.4
1.2 1.2
ry TS1 TS3 ry
1 1
TS1
TS3
0.8 0.8
0.6 0.6
0.4 0.4
TS2
0.2 0.2
0 0
0 0.5 1 1.5 2 0 0.5 1 1.5 2
rx rx
Fig. 5. Trajectory resulting from the use of the minimum-distance target Fig. 7. Trajectory resulting from the use of the proposed multitask planning
ordering for Example 1. and control for Example 2.
5 ax 5 ax
ay ay
4 4
3 3
2 2
1 1
u(t) 0
u(t) 0
−1 −1
−2 −2
−3 −3
−4 −4
−5 −5
0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7
t[s] t[s]
Fig. 6. Control action resulting from the use of the minimum-distance target Fig. 8. Control action resulting from the use of the proposed multitask
ordering for Example 1. planning and control for Example 2.
the ±5 bounds. multitask receding horizon planning and control shown in Fig.
The target sets were reached at times k = 8, k = 19 7. The first visited target was target set number 3, the second
and k = 28. The fuel cost was 34.55, which is smaller than was number 1 and the last, number 2. Figure 10 shows the
the corresponding value obtained in Example 1. This can be accelerations ax and ay , which once again remained within
explained by the fact that the resulting trajectory in this case the bounds ±5.
is composed of two straight lines connected by a curve. The The target sets were reached at times k = 8, k = 19
straight lines are more economic regarding the sum of the and k = 31 sampling times, which gives an overall time to
absolute values of the control signals, since no increment is accomplish the mission three sampling times larger than the
necessary in these signals in order to travel along straight lines. one observed with the multitask receding horizon planning
The overall cost was 31.46, larger than the one obtained in and control. The fuel cost was 73.26 and the overall cost was
Example 1 due to the larger time necessary to accomplish the 38.33, both larger than the ones obtained with the multitask
maneuver in this case. planning. It is interesting to note that the trajectory in this
For comparison, Fig. 9 depicts the trajectory in the horizon- case involves more curves than the one in Fig. 7, and even
tal plane resulting of the employment of the minimum-distance a reversion in the direction after reaching the target set
trajectory planning algorithm described in Section IV. It can number 1. This explains the larger fuel cost obtained with
be seen that the minimum-distance choice for ordering the the minimum-distance order algorithm (73.26) as compared
sets to be visited resulted in a different order as that of the to the one obtained with the multitask algorithm (34.55).
521
2
Target sets (TS) ACKNOWLEDGMENTS
TS2 Expanded obstacle
1.8
Obstacle The authors acknowledge the support of FAPESP (grants
1.6 Initial position 2011/18632-8 and 2011/17610-0) and CNPq (research fellow-
Path
1.4 ships).
1.2 R EFERENCES
ry
1 [1] C. Goerzen, Z. Kong, and B. Mettler, “A survey of motion planning
TS1
TS3 algorithms from the perspective of autonomous UAV guidance,” J. Intell.
0.8
and Robotic Systems, vol. 57, no. 1, pp. 65 – 100, 2010.
0.6 [2] S. J. Qin and T. A. Badgwell, “A survey of industrial model predictive
control technology,” Control Engineering Practice, vol. 11, no. 7, pp.
0.4 733–764, 2003.
[3] J. M. Maciejowski, Predictive Control with Constraints. Harlow,
0.2 England: Prentice Hall, 2002.
0 [4] A. Richards and J. P. How, “Robust variable horizon model predictive
0 0.5 1 1.5 2 control for vehicle maneuvering,” Int. J. Robust and Non-linear Control,
rx vol. 16, no. 7, pp. 333 – 351, 2006.
[5] J. A. Rossiter, Model-based Predictive Control: a practical approach.
Fig. 9. Trajectory resulting from the use of the minimum-distance target Boca Raton: CRC Press, 2003.
ordering for Example 2. [6] A. Bemporad and M. Morari, “Control of systems intregrating logic,
dynamics, and constraints,” Automatica, vol. 35, no. 3, pp. 407 – 427,
1999.
[7] A. Richards, T. Schouwenaars, J. P. How, and E. Feron, “Spacecraft
5 ax trajectory planning with avoidance constraints using mixed-integer linear
ay
programming,” J. Guid. Control Dyn., vol. 25, no. 4, pp. 755 – 764, 2002.
4
[8] M. H. Maia and R. K. H. Galvão, “On the use of mixed-integer linear
3 programming for predictive control with avoidance constraints,” Int. J.
2
Robust and Non-linear Control, vol. 19, pp. 822 – 828, 2009.
[9] M. Kvasnica, P. Grieder, and M. Baotić, “Multi-Parametric Toolbox
1 (MPT),” 2004. [Online]. Available: http://control.ee.ethz.ch/ mpt/
u(t) 0
−1
−2
−3
−4
−5
0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7 3
t[s]
Fig. 10. Control action resulting from the use of the minimum-distance target
ordering for Example 2.
VI. C ONCLUSIONS
522