You are on page 1of 11

92 IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 10, NO.

1, MARCH 2009

A Predictive Controller for Autonomous


Vehicle Path Tracking
Guilherme V. Raffo, Guilherme K. Gomes, Julio E. Normey-Rico,
Christian R. Kelber, Member, IEEE, and Leandro B. Becker, Member, IEEE

Abstract—This paper presents a model predictive controller


(MPC) structure for solving the path-tracking problem of ter-
restrial autonomous vehicles. To achieve the desired performance
during high-speed driving, the controller architecture considers
both the kinematic and the dynamic control in a cascade structure.
Our study contains a comparative study between two kinematic
linear predictive control strategies: The first strategy is based on
the successive linearization concept, and the other strategy com-
bines a local reference frame with an approaching path strategy.
Our goal is to search for the strategy that best comprises the
performance and hardware-cost criteria. For the dynamic con-
troller, a decentralized predictive controller based on a linearized
model of the vehicle is used. Practical experiments obtained using
an autonomous “Mini-Baja” vehicle equipped with an embedded
computing system are presented. These results confirm that the
Fig. 1. Cascade-based AVN controller.
proposed MPC structure is the solution that better matches the
target criteria.
Index Terms—Autonomous vehicle, path following, predictive (level 4), there is navigation planning and trajectory generation.
control. Path-tracking control algorithms based on kinematic models are
normally located at level 3, whereas dynamic control is located
I. I NTRODUCTION at level 2. Finally, sensor/actuator control systems are located
at level 1.

T ECHNOLOGICAL advances spread the use of mobile


robots in several application fields, such as dust suction,
mail delivery, and interplanetary and underwater exploration.
One of the most important issues in the field of wheel-based
mobile robots and AVN is the path-tracking problem, which
consists of designing control techniques that aim to assure that
An application of special interest in the scope of this paper is the vehicle will follow a predetermined path [6]. This problem
autonomous vehicle navigation (AVN) [1]–[5]. It can be used is very dependent on the vehicle modeling since it is a re-
for different purposes, including increasing comfort, optimizing quirement for control law design. Because of the multivariable
gas consumption and pollution emission, and, most importantly, and nonlinear characteristics of this problem, the design of
enhancing safety [3], [5]. AVN controllers are typically or- control strategies for wheel-based vehicles is, in fact, a very
ganized in cascade, as shown in Fig. 1. At the highest level complex task.
The path-tracking problem in AVN can be tackled using three
Manuscript received September 13, 2007; revised March 13, 2008. First
published January 27, 2009; current version published February 27, 2009. This
different approaches: 1) considering only the kinematic model
work was supported by the Brazilian National Counsel of Technological and [7]–[9], 2) considering only the dynamic model [10]–[12], and
Scientific Development (CNPq) under Grant 475052/2006-4. The Associate 3) considering both the kinematic and dynamic models [13].
Editor for this paper was A. Eskandarian.
G. V. Raffo was with the Department of Automation and Systems Engi-
Many of these control applications assume that the calculated
neering, Federal University of Santa Catarina (UFSC). He is now with the values will never reach the saturation limits of the actuators
Department of Systems Engineering and Automation, University of Seville, although, in practice, this is not true. For instance, when the
41092 Seville, Spain (e-mail:raffo@cartuja.us.es).
G. K. Gomes was with the Department of Automation and Systems Engi-
vehicle is far away from its destination, the generated control
neering, Federal University of Santa Catarina (UFSC). He is now with the De- signals are normally higher than the admissible values [9].
partment of Tax Credit Services, Automatic Data Processing, Inc., 90430-000 Moreover, the vehicles are composed of mechanical and elec-
Porto Alegre, Brazil (e-mail: guilherme_gomes@adp.com).
J. E. Normey-Rico and L. B. Becker are with the Department of Automa- trical parts, which are also subjected to physical constraints.
tion and Systems Engineering, Federal University of Santa Catarina (UFSC), Thus, when online constraints must be considered, model
88040-900 Florianópolis, Brazil (e-mail: julio@das.ufsc.br; e-mail: lbecker@ predictive controller (MPC) algorithms appear as an interesting
das.ufsc.br).
C. R. Kelber is with the Department of Advanced Engineering, DHB Com- choice. The goal of MPC is to compute a future control se-
ponentes Automotivos S.A., 90200-290 Porto Alegre, Brazil (e-mail: christian. quence in a defined horizon in such a way that the prediction of
kelber@dhb.com.br). the plant output is driven close to the reference. This is accom-
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org. plished by minimizing a multistage cost function with respect to
Digital Object Identifier 10.1109/TITS.2008.2011697 the future control actions, considering a set of constraints both
1524-9050/$25.00 © 2009 IEEE
RAFFO et al.: PREDICTIVE CONTROLLER FOR AUTONOMOUS VEHICLE PATH TRACKING 93

in the control actions and the plant outputs [14]. Because of its
formulation, an MPC also allows the use of previously known
references for control law calculation [8].
Kinematic predictive control techniques have been applied
to the path tracking of mobile robots and autonomous vehicles
[8], [9], [13], [15]–[17]. In [18] and [19], the predictive control
concept applied to a single robot system was extended to design
controllers for coordinated multiple robot motion. In all the
aforementioned works, the presented results were obtained by
simulation in a remote-platform real-time MPC implementation
or the use of a personal computer installed on the mobile robots.
Fig. 2. Ackerman-steered vehicle’s configuration.
This paper presents a different solution for this problem,
allowing the linear MPC algorithm to be deployed into an control law that cancels the error between the real robot and the
embedded computational system for solving the path-tracking virtual reference robot when the original reference inputs are
problem. The proposed solution considers both the dynamic different from zero [9], [22]. The second approach considers
and kinematic models and can feasibly be implemented in a the kinematic model in a local reference frame. In this case,
real system. Critical aspects such as timing and resource con- the increments of direction and steering angles are particularly
straints are carefully analyzed. Moreover, to manage the system small for each sample time, and this assumption leads to a
complexity, the object-oriented (OO) paradigm was adopted linearized model of the vehicle. This is, however, only valid for
[20]. This paradigm allows creating a generalized software small variations of these angles. If the vehicle were positioned
structure, which allows the use of any control algorithm simply far from the reference trajectory, the angle variations would be
by changing specific software components. For instance, a too high to reach the desired course. To overcome such high
library of control algorithms can be created and used. values, an approaching maneuver is introduced; therefore, the
This paper also presents a comparative study between two vehicle will always be on a reference track while following this
different linear MPC algorithms to determine the most appro- approaching path [8].
priate implementation strategy. Moreover, a study is performed The analysis of the vehicle dynamics is performed when
to show the advantages of the cascade control structure when the mass, the load, and the necessary power to move it are
high-speed experiments are considered. The maximal achiev- taken into account [23]. In many applications, it is necessary
able speed vmax for a good performance with a kinematic to control the vehicle dynamics to ensure that the vehicle will
controller is obtained, and the results are corroborated by follow the specified path with good performance at higher
simulation. In the experiments, as the speed of the Mini-Baja is speeds [10], [23]. The dynamic model of an Ackerman steered
limited to 10 km/h, only the kinematic controller was necessary mobile robot, which is similar to a conventional car, is obtained
to control the vehicle. according to Newton’s laws, considering that the vehicle is
The remainder of this paper is organized as follows: moving on a plane surface. The model discerns longitudinal
Section II describes the obtained model. Sections III–V present and lateral movements, which will be used for speed and lateral
the developed controller. Section VI highlights the developed control, respectively. Due to the fact that speed variations are
embedded computational system, and finally, Section VII de- slower than steering movements, a cascade control structure for
picts the obtained experimental results. This paper ends with the vehicle lateral dynamics can be performed.
the conclusions of this work in Section VIII.
A. Kinematic Model of Ackerman-Steered Vehicles
II. M ATHEMATICAL M ODEL A mobile robot with an ackerman steering design is shown in
To design a guidance controller, a mathematical model of the Fig. 2. It is assumed that the robot is a rear-wheel-drive vehicle
vehicle is necessary. The model achieved in this paper takes with a rigid body and nondeformable wheels, being the front
into account the kinematic and dynamic aspects. However, due wheels used for steering. To calculate the trajectory performed
to the fact that a linear MPC was chosen for implementation, by the robot, the complete kinematic model is simplified by
the mathematical model had to be manipulated, and a linear considering only one wheel per axle. Slip phenomena are also
model was therefore obtained. Previous works implementing neglected, and the speeds at the middle of the axles are therefore
an MPC in mobile robots for path-tracking procedures show considered identical and tangent to the robot orientation [24].
that the use of nonlinear MPC (NMPC) algorithms in real-time Based on Fig. 2, the guiding point, which shall actually
embedded systems is not viable due to the high computational follow the reference path [25], is defined as the middle point
costs associated with them [9], [21]. of the front axle. For yaw angle references, however, the center
To use a linear path-tracking controller, the kinematic model of mass (CM) is used. The kinematic model is hence described
is investigated in two possible manners: First, the kinematic as follows [24]:
model of the error is used. In this case, a virtual reference robot ⎧
having the same kinematic model as a car is assumed over the ⎨ ẋ(t) = vf (t) · cos (θ(t) + δf (t))
ẏ(t) = vf (t) · sin (θ(t) + δf (t)) (1)
desired trajectory previously calculated offline and is defined as ⎩ v (t)
time variant. The objective of this strategy is to obtain a linear θ̇(t) = fdf · sin δf (t)
94 IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 10, NO. 1, MARCH 2009

where (x, y) are the global reference frame coordinates, vf is


the longitudinal velocity at the middle of the front axis, θ is yaw
angle, and δf is the front-wheel steering angle.
1) Kinematic Model of the Error: In this approach, the
objective is to guarantee that the vehicle follows a previously
predetermined reference trajectory with no displacement error.
However, due to the fact that the destination coordinates vary
in time, a reference virtual robot having the same mathematical
model is placed on the track, i.e.,

⎨ ẋref (t) = vfref (t) · cos (θref (t) + δfref (t))
⎪ Fig. 3. Automobile’s force diagram.
ẏref (t) = vfref (t) · sin (θref (t) + δfref (t)) (2)

⎩ θ̇ref (t) = vfref (t) · sin δf (t). and Euler’s method to perform the system discretization, the
df ref
following equation is obtained:

Defining x(t) and xr (t) as the system and reference ⎨ xL (k + 1) = xL (k) + vf (k) · T
states, where x(t) = [x(t) y(t) θ(t)] and xr (t) = yL (k + 1) = yL (k) + vf (k) · T · δf (k) (6)
[xref (t) yref (t) θref (t)] , and u(t) and ur (t) as the system and ⎩ v (k)·T
θ(k + 1) = θ(k) + f df · δf (k).
reference control input variables, where u = [vf (t) δf (t)]
and ur (t) = [vfref (t) δfref (t)] , respectively, a linearized However, the linearized model in the local reference frame
model can be obtained by calculating the error between the is only valid for small increments of δf (k)(Δδf (k)).1 If the
robot (1) and the reference virtual robot (2). vehicle initial position is too far away from the reference path,
Thus, linearizing system (1) around an operating point and the necessary increments to bring it to the desired trajectory
subtracting system (2) from the obtained values, the proposed will lead to high angle values, invalidating this linearized model
kinematic model of the error is given by during the approaching maneuver. To overcome this problem,
an approaching route that starts on the vehicle initial position
˙
x̃(t) = A(t) · x̃(t) + B(t) · ũ(t) (3) must be generated [2], [8] to bring it with smooth movements
and small steering angles to the desired path. The approaching
where x̃(t) = x(t) − xr (t) represents the error to the reference route used here is based on the Pure-Pursuit algorithm [1],
robot, and ũ(t) = u(t) − ur (t) denotes the control input error. where the lookahead parameter is constantly adapted in relation
At the same time, matrices A(t) and B(t) are the Jacobians of to the distance between the vehicle and the reference path.
system (1) in relation to x(t) and u(t), respectively. To obtain the control law based on the model in the local
Using Euler’s method, a time-variant discrete linear model is reference frame, it is necessary to convert the desired path
obtained, i.e., coordinated to the local reference frame.
x̃(k + 1) = A(k) · x̃(k) + B(k) · ũ(k). (4)
B. Dynamic Model of Ackerman-Steered Vehicles
Based on this analysis, the path-following problem for a
A dynamic model is obtained after analyzing the forces that
mobile robot can be understood as follows: to find the control
lead to lateral and longitudinal displacements in a vehicle-based
inputs in a bounded group of possible values that drive the state
reference frame and yawing movements.
variables in (3) from an initial position x̃0 to the origin [26] or
For path-tracking control, however, some simplifications can
limt→∞ x̃ = 0.
be considered: The CM is assumed at road level, suspension
2) Kinematic Model in Local Coordinates: The kinematic
movements and aerodynamic influences are neglected, the
model of a mobile robot in a local reference frame, which is
weight is equally distributed in a heightless rectangle sliding
similar to that shown in Fig. 2, is defined, considering a fixed
on the road surface, and the wheels of the same axle are rep-
reference frame (xL , yL ) situated on the CM and having the
resented by one tireless wheel positioned between the original
xL axis along the vehicle’s length. Hence, the following equa-
wheels. Therefore, pitching and rolling motions can be ignored.
tions are obtained:
The aforementioned simplifications lead to the well-known

⎨ ẋL (t) = vf (t) · cos δf (t) planar bicycle model of an Ackerman steered vehicle shown
ẏL (t) = vf (t) · sin δf (t) (5) in Fig. 3 [4].
⎩ v (t) Due to the fact that the NMPC involves high computational
θ̇(t) = fdf · sin δf (t)
costs when calculating the control law, the dynamic model
is linearized to be used with the linear MPC. Additionally,
where yaw angle θ(t) is in the global reference frame.
when using adaptive cruise control (ACC) for speed con-
The time-variant discrete linear kinematic model in a local
trol [27], the speed can locally be considered at a constant
reference frame is obtained from (5), assuming that the incre-
value. As presented in [4], the linearized dynamic displacement
ments of the yaw and steering angles θ(t) and δf (t) are small in
each sample. Hence, combining the Taylor series expansions of
cos δf (t) and sin δf (t), with each truncated after the first term, 1 Difference operator Δ, which is given by Δ = 1 − z −1 .
RAFFO et al.: PREDICTIVE CONTROLLER FOR AUTONOMOUS VEHICLE PATH TRACKING 95

model with speed-dependent coefficients leads to the following However, as shown in [9] and [21], the computational effort
equations: associated with the real-time implementation of the NMPC
    does not compensate for the obtained performance. When the
cr · dr − cf · df cr + cf NMPC was compared with a linear MPC, the computational
β̇ = θ̇ · −1 −β·
m · v2 m·v effort was 40 times higher, and the performance was only 2%
Fxf · δf cf · δf better. Thus, in this paper, only linear MPC algorithms will be
+ + (7) analyzed.
m·v m·v
Two different MPCs will be compared: 1) a state space
β θ̇  formulation based on the linearized kinematic model of the
θ̈ = · (cr · dr − cf · df ) − · cr · d2r + cf · d2f
Jz Jz · v error between the real vehicle and a reference vehicle and
cf · df · δf Fx · d f · δ f 2) a generalized predictive controller (GPC) based on a local
+ + f (8) linear model and approximation paths. Exhaustive comparative
Jz Jz
simulations were performed to evaluate the two strategies, and
where β is the chassis side-slip angle at the CM; θ̇ is the yaw as will be shown, the GPC strategy presents better compromise
rate; v is the vehicle speed at the CM; Jz is the yaw moment between performance and computational complexity. Thus, this
at the CM; df and dr are the distances of the front and rear algorithm was used at this level and also at level 2 for the
axles from the CM, respectively; cf and cr are the front and control of vehicle dynamics.
rear tire cornering stiffness, respectively; m is the total mass of The kinematic control can generate an acceptable perfor-
the vehicle; and Fxf and Fxr are the traction forces on the front mance when the vehicle speed and acceleration are under
and rear wheels parallel to the longitudinal axis of the vehicle certain limits, where the effect of the mass and load can be
body, respectively. neglected. This is not the case of the wheel-based autonomous
The resulting dynamic model, however, is valid for lateral vehicles when it is necessary to work at speed > vmax . In this
accelerations of up to 4 m/s2 [4]. In addition, to obtain a move- paper, a predictive controller is proposed to control the vehicle
ment without side-slip, β must have the same signal as steering dynamics.
angle δf , so that analyzing the static gain of transfer function There are three controlled variables at this level: 1) the speed,
β(s)/δf (s) and using (7) and (8), the following relation is 2) the yaw rate, and 3) the chassis side-slip angle. As the speed
obtained: dynamics is slower than the other two dynamics, a decentralized
controller is proposed. An ACC is used in the speed control
cr cf dr (dr + df ) − cf df mv 2 (see [27]), and a multivariable GPC is used in the yaw rate and
Ks β = >0 (9)
cr cf (dr + df )2 + mv 2 (cr dr − cf df ) the chassis side-slip angle control, in which the applied steering

angle is used as the manipulated variable. The development of
cr dr (dr + df ) each of the controllers is analyzed in the next section.
v< . (10)
df m
IV. K INEMATIC P REDICTIVE C ONTROL
Note that the maximum vehicle velocity vmax depends on the
rear cornering stiffness, which is the only variable parameter, In this section, two different linear MPC algorithms are
and that vmax > vsup = 10 km/h, which is the maximal veloc- presented for the kinematic control problem: 1) a state space
ity of the analyzed vehicle (see Section VII). predictive controller based on the kinematic error model and
2) a local-model-based predictive controller. For the analysis of
this section, it is assumed that the dynamic control system has
III. C ONTROL S TRATEGY no influence on the overall performance. Thus, the control sig-
The control strategy used in this paper is based on the idea nal generated with the kinematic controller is directly applied
shown in Fig. 1, but only control levels 2 and 3 are analyzed in to the vehicle.
depth. The local control systems (level 1) used to directly act
on the accelerator, breaks, and steering were already installed A. E-SSPC
in the vehicle. The supervisory system at level 4 computes a
desired trajectory to link a predefined initial and final point in The idea used in this controller consists of the computa-
the global reference frame. In addition, at this level runs the tion of a control law in such a way that minimizes the cost
adaptive algorithm that defines the lookahead parameter of the defined by
Pure-Pursuit strategy. With this information, the approaching ˆ − x̃r ] Qa [x̃
ˆ − x̃r ] + [ũ − ũr ] Ra [ũ − ũr ]
J = [x̃ (11)
path is computed such that it generates the reference signals for
the predictive controller on the second level. where Qa and Ra are diagonal definite positive weighting
At level 3, a multivariable MPC is used to perform the matrices, and N2 and Nu are the horizons [28].
path following based on the kinematic model of the vehicle. The predictions of plant output x̃(kˆ + j|k) are computed
This controller uses the position and orientation of the vehicle using a linearized time-variant state space model of the vehicle
as controlled variables and the desired steering angle as a using (4), obtaining
manipulated variable. The kinematic model of the vehicle is
nonlinear, and an NMPC can be used to control the real vehicle. ˆ = Px (k|k) · x̃(k|k) + Hx (k|k) · ũ
x̃ (12)
96 IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 10, NO. 1, MARCH 2009

ˆ and ũ are given by


where x̃ B. LGPC
⎡ ⎤ ⎡ ⎤ In this algorithm, the cost function is similar to that used
x̃(k + 1|k) ũ(k|k)
ˆ= Δ ⎢ .. ⎥ ⎢
Δ .. ⎥ in the error-based state-space predictive controller (E-SSPC)
x̃ ⎣ . ⎦ ũ = ⎣ . ⎦ case [8], i.e.,
x̃(k + N2 |k) ũ(k + N u − 1|k)
J = (ŷ − yr ) Qb (ŷ − yr ) + Δu Rb Δu (17)
with ũ(k) = [δf (k) − δfref (k)], x̃(k) being the state error de-
where ŷ and Δu are given by
fined in Section II, and the reference vectors being ⎡ ⎤
⎡ ⎤ ŷL (k + 1|k)
xr (k + 1|k) − xr (k|k) ⎢ .. ⎥ ⎡ ⎤
Δ ⎢ ⎥ ⎢ . ⎥ Δδf (k)
x̃r = ⎣ ..
⎦ ⎢ ⎥
. ⎢ ŷL (k + N2yL |k) ⎥ ⎢ Δδf (k + 1) ⎥
xr (k + N2 |k) − xr (k|k) ŷ = ⎢ ⎥
⎢ θ̂(k + 1|k) ⎥ Δu = ⎣
⎢ .. ⎥

⎡ ⎤ ⎢ ⎥ .
⎢ . ⎥
ur (k|k) − ur (k − 1|k) ⎣ .. ⎦ Δδf (k + Nu − 1)
Δ ⎢ .. ⎥
ũr = ⎣ . ⎦. θ̂(k + N2θ |k)
ur (k + N u − 1|k) − ur (k − 1|k) (18)
Δδf (k + i) = δf (k + i) − δf (k + i − i), i = 1, . . . , Nu − 1,
Matrices Px and Hx are obtained as shown at the bottom of are the incremental control actions; and Qb and Rb are diago-
the page, where α(k, j, l) is given by [9] nal definite positive weighting matrices. N2yL and N2θ are the
2 −l
output horizons, and Nu is the control horizon.
Δ

N
For the computation of the predictions, a traditional con-
α(k, j, l) = A(k + i|k). (13)
i=j
trolled auto-regressive integrated moving average (CARIMA)
model is used [14], which, when applied to the local model (6),
Minimizing (11) when the constraints are not considered, the yields
control law can be obtained as      
yL (k) vf (k−1)T 1 1 1
−1 = δf (k−1)+ ·e(k)
ũ = [Hx ·Qa ·Hx +Ra ] ·[Hx ·Qa ·(x̃r −Px · x̃(k))+Ra · ũr ] θ(k) −1
(1−z ) 1/df −1
(1−z ) 1 2

(14) (19)

although only ũ(k) is needed at each instant k [14]. In the where vf (k) is considered constant between two samples, and
constrained case, an optimization algorithm solves (11) at each e(k) is white noise. Using this model, an offset-free closed-loop
sampling time. system is obtained, which also has the capability of rejecting
To compute the kinematic control at this section, speed vf step disturbances [14].
is considered constant. Thus, matrices A(k) and B(k) are The predictions and free response f can be expressed as
given by a function of the future control actions Δu and as ŷ =
⎡ ⎤ GΔu + f , where matrix G is the constant step response matrix,
1 0 −vf · T · sin (θref (k) + δfref (k)) respectively.
A(k) = ⎣ 0 1 vf · T · cos (θref (k) + δfref (k)) ⎦ (15) The cost (17) can be written as
0 0 1
⎡ ⎤ J = (GΔu+f −yr ) Qb (GΔu+f −yr )+Δu Rb Δu. (20)
−vf · T · sin (θref (k) + δfref (k))
In the unconstrained case, the solution is
B(k) = ⎣ vf · T · cos (θref (k) + δfref (k)) ⎦ . (16)
vf ·T
df · cos δ fref (k) Δu(k) = k · (yr − f ) (21)


A(k|k) ⎤
⎢ A(k|k)A(k + 1|k) ⎥
Δ ⎢ ⎥
Px (k|k) = ⎢

..
.


⎣ ⎦
α(k, 0, 2)
α(k, 0, 1)
⎡ B(k|k) 0 ··· 0 ⎤
⎢ A(k + 1|k)B(k|k) B(k + 1|k) ··· 0 ⎥
Δ ⎢ ⎥
Hx (k|k) = ⎢

..
.
..
.
..
.
..
.


⎣ ⎦
α(k, 1, 2)B(k|k) α(k, 2, 2)B(k + 1|k) ··· 0
α(k, 1, 1)B(k|k) α(k, 2, 1)B(k + 1|k) ··· B(k + N u − 1|k)
RAFFO et al.: PREDICTIVE CONTROLLER FOR AUTONOMOUS VEHICLE PATH TRACKING 97

Fig. 4. Kinematic–dynamic control structure.

TABLE I higher cost is due to the complexity associated with the online
COMPUTATIONAL COST EVALUATION
successive linearization approach executed in the E-SSPC.
Thus, in the next section, the LGPC will be used in the real-
time implementation of the kinematic controller.

V. D YNAMIC P REDICTIVE C ONTROL


To improve the closed-loop performance, a cascade configu-
ration with the dynamic and kinematic controllers is used. The
cascade control structure is shown in Fig. 4.
where k is the first row of matrix (G · Qb · G + Rb )−1 · G · For the yaw rate and chassis side-slip angle dynamics, a one-
Qb , and yr is the vector of references. In the constrained case, input–two-output controller is used. This controller assumes
the optimization algorithm solves the optimization problem at that the speed is constant during the sampling time. The transfer
each sampling time. functions for the dynamic predictive controller were derived
To generate the local reference at each sampling time, the from (7) and (8). The following models were obtained:
Pure-Pursuit approximation strategy is computed in the Refer-
ence Trajectory Supervisor-Generator block shown in Fig. 4.  
1 e · s + (de + bf )
Using a set of reference values xref , yref , and θref given by G(s)β,θ̇ =
s2 + (a + d) · s + (ad − bc) f · s + (af + ce)
the Planning Route block, the Reference Trajectory Supervisor- (22)
Generator block computes, at each sampling time, the N2
necessary reference points in the local reference frame. The where
Pure-Pursuit strategy uses an adaptive lookahead defined as a
cr +cf cr ·dr −cf ·df cr ·dr −cf ·df
function of the distance between the vehicle and the reference a= b= −1 c=
path trajectory. m·v m·v 2 Jz
cr ·d2r +cf ·d2f cf +Fxf df ·(cf +Fxf )
d= e= f= .
Jz ·v m·v Jz
C. Comparative Study
Several simulations were used to compare the E-SSPC and The discrete linear models were derived from transfer matrix
the local-model-based GPC (LGPC) when applied to the path- (22). The predictions are computed using a CARIMA model
tracking problem based on the vehicle kinematics in [29]. Two and the same procedure as that used in the kinematic control.
indexes are used in the comparative analysis: 1) the path- Several simulation tests were used to illustrate the advantages
tracking performance and 2) the computational effort. For this of the proposed cascade predictive controller. Only one set of
paper, the unconstrained case is considered. The computational controller parameters was tuned for all the cases, and the param-
cost evaluation is shown in Table I when the two controllers are eters were defined using the following strategy. The horizons
tuned for the same performance. were chosen to capture the dominant dynamics of each loop and
The computational cost was measured, considering the num- obtain a smooth control action. For the kinematic controller, it
ber of floating-point operations used in each algorithm to obtain was necessary to increase the weighting factors to improve the
the control action in a sampling period. It was counted by the robustness.
Matlab flops function. The kinematic model is sampled every Thus, the following parameters were chosen: N2β,θ̇ =
0.1 s. [10 10] , Nuδf din = [10], Qβ,θ̇ = Iβ,θ̇ , Rδf din = [0, 5],
These results show that the E-SSPC algorithm presents a N2yL ,θ = [30 30] , Nuδf cinem = [30], QyL ,θ = IyL ,θ , and
higher computational cost than the LGPC algorithm. This Reδf cinem = [5].
98 IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 10, NO. 1, MARCH 2009

structure, which allows the use of any particular control al-


gorithm that could be, for instance, picked from a software
library. This is obtained using inheritance, which guarantees
code generalization and allows one to adapt the code to any
control strategy. Such structuring is detailed along this section,
which starts with the definition of the timing constraints of the
designed application.

A. System Tasks
The first step in designing a real-time application is the tim-
ing constraint specification. Such timing constraints are based
on the system’s set of real-time tasks. For the system under
consideration, they are given as follows, where tasks denoted
with “τ ” are periodic tasks, and tasks denoted with “J” are
aperiodic tasks, which means that they do not occur within a
fixed interval:
1) τ1 : kinematic control loop;
2) J2 : system’s model and control law definition;
3) J3 : reference path definition;
4) τ4 : integration error correction;
5) J5 : data transmission;
6) J6 : start application;
7) J7 : stop application;
8) τ8 : β and θ dynamic control loop;
9) τ9 : speed dynamic control loop.
Among these tasks, τ1 , J2 , τ4 , τ8 , and τ9 should concurrently
run while the vehicle is moving. J3 and J5 are executed only
when the vehicle is stopped. τ1 , τ8 , and τ9 have hard deadlines,
which can never be violated, whereas the other tasks have
soft deadlines, where violations are tolerated. For example, the
soft condition of J2 is based on the presupposition that the
system will never depend on any parameter redefinition to treat
a critical situation. That is, model and control law redefinitions
Fig. 5. (a) Path tracking in the xy plane. (b) Control action δf : simulation
with the cascade predictive control strategy. during the driving process are assumed to be necessary for
performance optimization and not for emergency purposes.
The obtained results for a rounded rectangle reference trajec- Similarly, τ4 is defined as soft, assuming that the periodic
tory with speeds of vf = 9 m/s and vf = 15 m/s and an initial integrating error correction will never let this error accumulate
position x0 = [−1 − 5 0] are shown in Fig. 5(a) and (b). up to critical levels. Finally, the deadlines of the periodic tasks
These results show the important improvement in the perfor- are assumed to be equal to the task’s period to guarantee the
mance obtained with the complete control algorithm, in spite safety of the application.
of the simple model used in the controller to compute the
predictions. As shown in Fig. 5(a) and (b), the path tracking
B. Resource Constrains
using the cascade controller or that using only the kinematic
controller with speed vf = 9 m/s are very similar. This re- The memory block that stores the kinematic and dynamic
sult was expected as, from (10), the Mini-Baja has vmax = models and its respective control laws is a resource concur-
9.44 m/s. However, if v > vmax , the cascade scheme gives a rently accessed by τ1 , τ8 , and τ9 , which perform read accesses,
better performance, in spite of the side-slip. and J2 , which performs write accesses. To guarantee that the
read and write accesses will not occur at the same time, a
mutual exclusion mechanism is necessary.
VI. E MBEDDED C OMPUTATIONAL S YSTEM
In special applications such as those with precision levels that
To ensure the quality and correctness of the real-time em- require integration error correction, the integrating memory is
bedded computing system (ECS), it is mandatory to precisely also a shared resource simultaneously read by τ1 and written
specify timing constraints and use a well-structured develop- by τ4 . As these tasks can concurrently run, again, a mutual
ment approach during the entire life cycle (i.e., requirements exclusion mechanism is required.
engineering, design, implementation, testing, and maintenance) In high-performance applications implementing the cascade
of this system. The OO paradigm [20] is adopted here to drive control structure shown in Fig. 1, the memory block that stores
the development process, resulting in a generalized software the kinematic control horizon can concurrently be accessed by
RAFFO et al.: PREDICTIVE CONTROLLER FOR AUTONOMOUS VEHICLE PATH TRACKING 99

tasks τ1 and τ8 once it is used to dynamically generate the β TABLE II


EXECUTION TIME OF THE SYSTEM’S MAIN TASKS
and θ references. Therefore, this memory also requires mutual
exclusion to prevent τ1 and τ8 from simultaneously doing write
and read accesses, respectively.
For all these three exclusive resources, the access control
cannot allow preemption during the critical section of the
system’s tasks, to prevent a task’s write access from being
preempted by a higher priority task, consequently leaving in- 7) SpeedController and HeadingController classes: Offer
consistent data in memory. high-level access to the vehicle’s systems at level 1 of
Fig. 1 by encapsulating the implementation details of
these systems, which remain hidden from levels 2 and 3.
C. Scheduling Algorithm 8) PurePursuit class: Implements the Pure-Pursuit algo-
rithm and the operations for coordinate conversion.
In real-time applications, the scheduling algorithm must 9) Reference class: Offers operations for reference path
guarantee a feasible scheduling of all the critical tasks within generation.
their respective deadlines. As the system’s task set is fixed and 10) CrashSensor class: Represents the obstacle detector.
well defined, the schedule can be generated offline. The main 11) AngleSensor class: Represents the electronic compass.
advantage of this approach is that there is no run-time overhead 12) RealPosSensor class: Represents position sensors like
introduced by the scheduling algorithm. the GPS.
Given the fact that the execution time of task J2 tends to
be several times greater than the other tasks, the scheduling The MPC instance is periodically triggered every 50 ms and
algorithm must also be preemptive to distribute the execution then invokes the run method. The first actions of this sequence
of J2 along some sampling periods and, consequently, allow the consist of sending a message to the sensors to verify the pres-
system’s model and control law redefinition during the driving ence of an obstacle and obtain the θ measure. In the presence
process. of an obstacle, the setSpeed message is sent to the SpeedCon-
troller, reducing the speed to 0 m/s. On the other hand, the
setSpeed message sets the predefined speed. After setting the
D. OO Model speed, the MPC class sends messages to the Integrator class,
commanding the integration step and asking for the integrated
The structure and behavior of the designed control system coordinates. These coordinates are then converted to the local
were modeled using the Unifying Modeling Language (UML) reference frame using the PurePursuit class, as a reply to the
[30]. To represent the timing constraints on these diagrams, abs2Local message sent, and used to generate the approach path
the Schedulability, Performance, and Time (SPT) Profile [31] (also in the local reference frame), as a reply to the getTrack
(which is also known as UML-TR) is used. The resulting message sent. The next step consists of calculating the required
OO model consists of 12 classes that represent the control output prediction, which is done by the MPC class through
structure shown in Fig. 1. A summary of these classes is the message sent to its aggregated CommandProcessor object.
given here. Finally, with the prediction and the approach path available, the
1) MPC class: Multivariable GPC designed for the kine- MPC sends the processCommand message to the Command-
matic control. Its instance is the scheduling unity respon- Processor requesting the control signal, which is applied to the
sible for τ1 execution and also contains the kinematic vehicle through the message sent to the HeadingController.
model and control law definitions as exclusive resources. In kinematics-based control systems, the MPC class has
2) ControlLawProcessor class: Calculates GPC control law direct access to the SpeedController and HeadingController
k from (21). classes. That is, in the absence of level 2 in Fig. 1, level 3 has
3) CommandProcessor class: Calculates GPC control signal direct access to the vehicle’s sub-units situated in level 1.
Δu(k) from (21).
4) BetaThetaMPC and SpeedMPC classes: Derived from
E. Implementation
MPC to specifically perform the dynamic control. Like
MPC, their instances are scheduling unities that execute To allow a detailed performance analysis, the ECS was
τ8 and τ9 , respectively, as well as contain the dynamic implemented in three different platforms: 1) x86, 2) digital
models and control law definitions as exclusive resources. signal processor (DSP), and 3) POWER-PC. The x86 test was
5) Integrator class: Performs numeric integration to obtain performed on a personal computer running on Intel Pentium I
the vehicle’s global position coordinates. Its instance is at 166 MHz. The DSP test was carried out on a Motorola
the scheduling unity that executes τ4 and contains the 56F801 at 66 MHz. For the POWER-PC testing, a Motorola
integrating memory as exclusive resource. MPC5200 at 200 MHz was used. The software was coded
6) OperatorIO class: Completes the set of scheduling uni- using C and C++ languages, prioritizing its portability to the
ties. Its instance is responsible for executing J2 during different compilers available for the tested platforms. Table II
the driving process, and when the vehicle is stopped, it presents the execution times of the system’s main tasks that
is also responsible for the sequential execution of the J3 , were measured on the analyzed platforms, considering N2 =
J5 , J6 , and J7 tasks. Nu = 20.
100 IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 10, NO. 1, MARCH 2009

The measurement of task J2 ’s execution time could not be


performed in the DSP platform, because the used development
kit did not have enough memory for full code implementation
and execution. Therefore, only task τ1 was implemented so that
tasks J2 and J5 were previously executed (offline).
Based on the results presented in Table II, it can be concluded
that the execution times in all the tested platforms respected
the application deadlines, which made them suitable for most
autonomous vehicle applications, even those requiring high
performance.

VII. E XPERIMENTAL R ESULTS


This section shows the experimental results obtained with the
proposed kinematic controller. The controller was implemented
in a POWER-PC platform embedded on the Mini-Baja vehicle.
In a previous work [32], a Mini-Baja prototype was auto-
mated and converted into a drive-by-wire vehicle. The con-
troller structure was organized in different layers, with the
lowest level layer being responsible for traction, acceleration,
brake, and steering angle control. The implemented drive-by-
wire structure was based on an ALTUS programmable-logic-
controller network, and electrical drives were therefore used
to control the throttle angle, braking force, and steering wheel
angular position [32]. In this application, due to the fact that
the steering wheel electric drive does not present a response
sufficiently fast, the speed was limited to 10 km/h (∼2.77 m/s)
to overcome instabilities in the lateral movements [27]. Thus,
as presented in Section V, only the kinematic controller is
necessary to control the Mini-Baja vehicle (2.77 m/s < vmax ).
For the first test, a rounded rectangle reference trajectory is
used, starting at xr0 = [1 1 0]. The vehicle uses a speed of
vf = 1 m/s and starts at x0 = [0 0 0]. In this test, a constant
lookahead was used (5 m) to show the effect of this parameter
in the closed-loop performance. The tuning parameters were Fig. 6. (a) Path tracking in the xy plane. (b) Kinematic vehicle states.
Experimental results with a fixed lookahead.
defined as follows: N2yL ,θ = [20 20] , Nuδf = [20], Rδf =
[160], and Q2yL ,θ = [1 0; 0 0, 85]. errors show a slightly oscillatory behavior. When using Rδf =
As shown in Fig. 6(a) and (b), the vehicle follows the path 40, these oscillations disappear, but the closed-loop responses
reference with an acceptable performance although it shows an are slower. This illustrates the tradeoff between robustness and
appreciable error in some parts of the path. In the figures, the performance in the tuning procedure.
real trajectory is plotted together with the simulated trajectory. Note that the real control action does not violate the con-
Note that these two trajectories are almost identical, which con- straints in any situation, and because of this, the control action
firms that the predictive controller is doing well. The observed was analytically computed in all the sample intervals. This
error is mainly due to the constant lookahead, which is too high smooth operation is obtained with the use of the Pure-Pursuit
for the path sectors with a big curvature. In addition, a small strategy associated with the adequate adaptive tuning of the
value of the weighting factors can be used to allow a faster lookahead.
response.
In a second experiment, with a path specially chosen to
observe the effect of the adaptive lookahead, the controller was VIII. C ONCLUSION
tuned with N2yL ,θ = [30 30] , Nuδf = [30], Q2yL ,θ = I2×2 , This paper has presented the analysis, design, tuning, and
and two different values of Rδf , i.e., Rδf = 40 and Rδf = 10. implementation of a predictive control structure for the path-
The new reference trajectory is S-shaped with initial tracking problem of an autonomous vehicle.
point xr0 = [1 1 0]. The vehicle initial point is x0 = The controller architecture considers the kinematic and dy-
[1 1.5 0], and the speed is vf = 1 m/s. namic control in a cascade structure. The predictive controller
The obtained results [see Fig. 7(a) and (b)] confirm the ad- at the kinematic level was defined to reduce the computa-
vantages of the adaptive lookahead and also show the effect of tional effort. Using a comparative simulation analysis with
the control effort weighting. Note that, in the case of Rδf = 10, other approaches, a multivariable GPC based on a linear local
the error is almost zero along the trajectory, although the state model was chosen. This algorithm, together with a Pure-Pursuit
RAFFO et al.: PREDICTIVE CONTROLLER FOR AUTONOMOUS VEHICLE PATH TRACKING 101

ization, allowing its adaptation to any control strategy just


by changing specific software components. This allows future
modifications to the project with minor effort.
Our simulation results, together with the experimental eval-
uation performed using the Mini-Baja autonomous vehicle,
confirm that the proposed MPC structure is the solution that
best comprises the performance and hardware-cost criteria.

ACKNOWLEDGMENT
The authors would like to thank the Brazilian research agen-
cies Fundação de Apoio à Pesquisa Científica e Tecnológica
do Estado de Santa Catarina (FAPESC) and Coordenação de
Aperfeicoamento de Pessoal de Nível Superior (CAPES).

R EFERENCES
[1] O. Amidi, “Integrated mobile robot control,” Robot. Inst., Carnegie
Mellon Univ., Pittsburgh, PA, Tech. Rep. CMU-RI-TR-90-17, May 1990.
[2] A. Ollero and O. Amidi, “Predictive path tracking of mobile robots:
Application to the CMU navlab,” in Proc. IEEE Int. Conf. Adv. Robot.,
Pisa, Italy, 1991, pp. 1081–1086.
[3] J. Manigel and W. Leonhard, “Vehicle control by computer vision,” IEEE
Trans. Ind. Electron., vol. 39, no. 3, pp. 181–188, Jun. 1992.
[4] R. Isermann, “Diagnosis methods for electronic controlled vehicles,” Veh.
Syst. Dyn., vol. 36, no. 2/3, pp. 77–117, Sep. 2001.
[5] J. Wit, C. D. Crane, III, and D. Armstrong, “Autonomous ground vehicle
path tracking,” J. Robot. Syst., vol. 21, no. 8, pp. 439–449, Aug. 2004.
[6] C. Canudas De Wit, H. K. Hennouf, C. Samson, and O. J. Sørdalen,
“World scientific series in robotics and intelligent systems,” in Nonlinear
Control Design for Mobile Robots. Singapore: World Scientific, 1993,
pp. 121–157.
[7] X. Yang, K. He, M. Guo, and B. Zhang, “An intelligent predictive control
approach to path tracking problem of autonomous mobile robot,” in Proc.
IEEE Int. Conf. Syst., Man, Cybern., 1998, vol. 4, pp. 3301–3306.
[8] J. E. Normey-Rico, J. Gómez-Ortega, and E. F. Camacho, “A Smith-
predictor-based generalised predictive controller for mobile robot path-
tracking,” in Control Eng. Pract., Jun. 1999, vol. 7, pp. 729–740.
[9] F. Kühne, W. F. Lages, and J. M. G. Gomes Da Silva, “Model predictive
control of a mobile robot using linearization,” Proc. IEEE Mechatron.
Fig. 7. (a) S-shaped path-following case and control action δf behavior. Robot., vol. 4, pp. 525–530, 2004, Aachen, Germany.
(b) Kinematic state errors for the S-shaped path-following case: experimental [10] F. D. Boyden and S. A. Velinsky, “Dynamic modeling of wheeled mobile
results with an adaptive lookahead. robots for high load applications,” in Proc. IEEE Int. Conf. Robot. Autom.,
San Diego, CA, 1994, vol. 4, pp. 3071–3078.
path-approaching strategy with an adaptive lookahead, shows [11] N. Sarkar, X. Yun, and V. Kumar, “Dynamic path following: A new con-
trol algorithm for mobile robots,” in Proc. 32nd IEEE Int. Conf. Decision
the best compromise between performance and computational Control, San Antonio, TX, 1993, pp. 2670–2675.
cost. Extensive simulation and experimental results show that [12] J. Yang and J. Kim, “Sliding mode control for trajectory tracking of non-
this control strategy performs well at low speeds without the holonomic wheeled mobile robots,” IEEE Trans. Robot. Autom., vol. 15,
no. 3, pp. 578–587, Jun. 1999.
use of a dynamic controller. It must be noted that the sampling [13] B. Kim, D. S. Necsulescu, and J. Sasiadek, “Model predictive control of
time selection is an important issue in this strategy that allows an autonomous vehicle,” in Proc. IEEE Int. Conf. Adv. Intell. Mechatron.,
small movements of the vehicle at each sample time and, 2001, pp. 1279–1284.
[14] E. F. Camacho and C. Bordons, Model Predictive Control, 2nd ed.
consequently, good performance from the linear controller. London, U.K.: Springer-Verlag, 2004.
However, for higher speeds, it is necessary to use a cascade [15] F. Berlin and P. M. Frank, “Robust predictive robot control,” in Proc. 5th
control configuration where the kinematics gives the setpoints IEEE Int. Conf. Adv. Robot., Pisa, Italy, 1991, vol. 2, pp. 1493–1496.
[16] H. V. Essen and H. Nijmeijer, “Non-linear model predictive control of
for the dynamic controller. Because of these good qualities, the constrained mobile robots,” in Proc. Eur. Control Conf., Porto, Portugal,
same predictive algorithm was used at the dynamic level. It 2001, pp. 1157–1162.
was shown that, for the Mini-Baja, the threshold for obtaining [17] D. Gu and H. Hu, “Neural predictive control for a car-like mobile robot,”
Int. J. Robot. Auton. Syst., vol. 39, no. 2, pp. 73–86, May 2002.
a good-performance path tracking using only the kinematic [18] R. S. Darling and M. Q. Phan, “Model predictive control of robot
controller is 9.44 m/s. Although this analysis was performed swarms,” in Proc. AIAA Guidance, Navig. Control Conf. Exh., Keystone,
for the Mini-Baja vehicle, the proposed methodology can be CO, Aug. 2006.
[19] J. S. Barlow and M. Q. Phan, “Model-based predictive control vehicle
applied to other autonomous vehicles. formations,” in Proc. AAS/AIAA Astrodynamics Spec. Conf., Mackinac
Detailed analysis of timing and resource constraints was Island, MI, Aug. 2007.
performed, allowing a real-time implementation on top of [20] J. Rumbaugh, Object Oriented Modeling and Design. Englewood Cliffs,
NJ: Prentice–Hall, 1991.
different embedded computational platforms. The use of the [21] F. Kühne, W. F. Lages, and J. M. Gomes Da Silva, “Point stabiliza-
OO paradigm was important in guaranteeing code general- tion of mobile robots with nonlinear model predictive control,” in Proc.
102 IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 10, NO. 1, MARCH 2009

IEEE Mechatron. Robot., Niagara Falls, ON, Canada, 2005, vol. 3, Julio E. Normey-Rico was born in Montevideo,
pp. 1163–1168. Uruguay, in 1962. He received the Ph.D. degree from
[22] W. L. Nelson and I. J. Cox, “Local path control for an autonomous the University of Seville, Seville, Spain, in 1999.
vehicle,” in Proc. IEEE Int. Conf. Robot. Autom., Philadelphia, PA, 1988, He is currently an Associated Professor with the
pp. 1504–1510. Department of Automation and Systems Engineer-
[23] Z. Deng and M. Brady, “Dynamic tracking of a wheeled mobile robot,” ing, Federal University of Santa Catarina (UFSC),
in Proc. IEEE Int. Conf. Intell. Robots Syst., Yokohama, Japan, 1993, Florianópolis, Brazil. He is the author or coauthor of
pp. 1295–1298. about 100 conference proceeding and journal papers
[24] J. Barraquand and J. C. Latombe, “On nonholonomic mobile robots and and the author of the recently published book Control
optimal maneuvering,” in Proc. IEEE Int. Symp. Intell. Control, Albany, of Dead-Time Processes (Springer, 2007). He is also
NY, 1989, pp. 340–347. an Associate Editor for Control Engineering Prac-
[25] W. L. Nelson, “Continuous steering-function control of robot carts,” IEEE tice. He has supervised 20 Ph.D./M.Sc. graduates. His current research interests
Trans. Ind. Electron., vol. 36, no. 3, pp. 330–337, Aug. 1989. include robust model predictive controllers, dead-time compensators, and time-
[26] S. Sun, “Designing approach on trajectory-tracking control of mo- delay systems.
bile robot,” Robot. Comput.-Integr. Manuf., vol. 21, no. 1, pp. 81–85,
Feb. 2005.
[27] C. R. Kelber, D. Webber, G. K. Gomes, M. A. Lohmann, M. S. Rodrigues,
and D. Ledur, “Active steering unit with integrated ACC for x-by-wire
vehicles using a joystick as H.M.I.,” in Proc. IEEE Intell. Veh. Symp.,
Parma, Italy, 2004, pp. 173–177.
[28] J. A. Rossiter, Model-Based Predictive Control: A Practical Approach.
New York: CRC, 2003.
[29] G. V. Raffo, “Predictive control algorithms for path following of
autonomous vehicles,” M.S. thesis, Univ. Fed. de Santa Catarina,
Florianópolis, Brazil, 2005 (in Portuguese).
[30] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language
User Guide. Reading, MA: Addison-Wesley, 1999.
[31] Object Management Group, “UML Profile for Schedulability, Perfor- Christian R. Kelber (M’08) was born in Erlangen,
mance, and Time Specification,” OMG, Seattle, WA, 2002. Tech. Rep. Germany, in 1972. He received the B.Sc. and M.Sc.
[32] C. R. Kelber, D. S. Dreger, G. K. Gomes, D. Webber, J. Schirmbeck, degrees in electrical engineering from Pontifícia
R. H. Netto, and D. A. Borges, “Cell-phone guided vehicle, an application Universidade Católica do Rio de Janeiro (PUC-Rio),
based on a drive-by-wire automated system,” in Proc. IEEE Intell. Veh. Rio de Janeiro, Brazil, in 1995 and 1997, respec-
Symp., Columbus, OH, Jun. 9–11, 2003, pp. 645–649. tively, and the Dr.-Ing. degree from Technische
Universität Braunschweig–Institut für Regelung-
stechnik, Braunschweig, Germany, in 2000.
Guilherme V. Raffo was born in Porto Alegre, From 2001 to 2008, he held an Adjunct Faculty
Brazil, in 1979. He received the B.Sc. degree position with the Unisinos University, São Leopoldo,
in automation and control engineering from the Brazil, where he led the Autonomous Vehicles Re-
Pontifical Catholic University of Rio Grande do search Group. Since 2007, he has been with the Department of Advanced
Sul-PUC-RS, Porto Alegre, in 2002, the Specialist Engineering, DHB Componentes Automotivos S.A., Porto Alegre, Brazil,
degree in industrial automation from the Federal working on automotive control systems.
University of Rio Grande do Sul (UFRGS), Porto
Alegre, in 2003, and the M.Sc. degree in electrical
engineering from the Federal University of Santa
Catarina (UFSC), Florianópolis, Brazil, in 2005. He
is currently working toward the Ph.D. degree in
robust control and H-infinity theory applied to UAV with the University of
Seville, Seville, Spain.
From August to December 2008, he conducted research at the University
of Leicester, Leicester, U.K., with the Control and Instrumentation Research
Group, working on air traffic control, as part of his Ph.D. studies. His current
research interests include robust control, H-infinity theory, predictive control,
and robotic systems.

Leandro B. Becker (M’03) was born in Alegrete,


Guilherme K. Gomes was born in Novo Hamburgo, Brazil, in 1976. He received the Ph.D. degree
Brazil, in 1978. He received the B.Sc. degree in from the Federal University of Rio Grande do
automation and control engineering from Unisinos Sul (UFRGS), Porto Alegre, Brazil, in 2003. His
University, São Leopoldo, Brazil, in 2003 and the Ph.D. dissertation was on a real-time systems design
M.Sc. degree in electrical engineering from the methodology.
Federal University of Santa Catarina (UFSC), In 2001, he conducted research with the Real-
Florianópolis, Brazil, in 2006. Time Systems and Communication Group (EuK) of
He is currently with the Department of Tax Credit the University of Magdeburg, Magdeburg, Germany.
Services, Automatic Data Processing, Inc., Porto Since 2004, he has been an Associated Professor
Alegre, Brazil, working with the infrastructure team with the Department of Automation and Systems
that maintains the Vista Web Portal of ADP Tax Engineering, Federal University of Santa Catarina (UFSC), Florianópolis,
Credit Services. His current research interests include predictive control ap- Brazil. His current research interests include software engineering for real-time
plied to automatic guided vehicles and software engineering for real-time and and embedded systems, real-time central-processing-unit/message scheduling,
embedded systems. and wireless communications in mobile systems.

You might also like