Sie sind auf Seite 1von 13

Received February 22, 2019, accepted March 8, 2019, date of current version May 6, 2019.

Digital Object Identifier 10.1109/ACCESS.2019.2907011

Predictive Adaptive Cruise Control


Using a Customized ECU
MATEUS MUSSI BRUGNOLLI 1 , (Member, IEEE),
BRUNO AUGUSTO ANGÉLICO 1 , (Member, IEEE),
AND ARMANDO ANTONIO MARIA LAGANÁ 2
1 Department of Telecommunications and Control Engineering, Escola Politécnica da Universidade de São Paulo (USP), São Paulo 05508-010, Brazil
2 Department of Electronic Systems, Escola Politécnica da Universidade de São Paulo (USP), São Paulo 05508-010, Brazil
Corresponding author: Bruno Augusto Angélico (angelico@lac.usp.br)

ABSTRACT Advanced Driver Assistance Systems (ADAS) is a group of technologies that support the
driving with safety measures, such as the Adaptive Cruise Control (ACC). The ACC System computes a
reference, known as cruise speed, that tracks the desired speed but it changes if a leading vehicle draws close.
In this paper, the inner loop of ACC was designed using two different Model Predictive Control techniques:
finite horizon and infinite horizon of prediction. The dynamic model of the vehicle was obtained using
System Identification. The controllers were embedded in an ACC Module that communicates directly with
a customized Electronic Control Unit (ECU) of the vehicle. The validation of the controllers is performed
with practical experiments using a dynamometer.

INDEX TERMS Automotive applications, cruise control, predictive control, quadratic programming, system
identification.

I. INTRODUCTION
The automotive research is an abundant area with many
control problems to be solved. One of the most discussed
themes is the development and improvement of Advanced
Driver Assistance Systems (ADAS). These systems aid the FIGURE 1. Representation of an ACC system.
driver to handle the vehicle safely and with less stress [1].
Initially, Cruise Control (CC) systems were developed within
the ADAS to control the longitudinal speed of the vehicle to structure of two control loops, an inner and an outer, as can be
track the desired speed (known as cruise speed). seen in Figure 1. For inner loop control, there are two input
Such CC systems were improved using vision technolo- signals: cruise speed and system (vehicle) speed. The inner
gies, for example, long-range radars. This change started loop outputs are the signals for the actuators of the system.
the development of a complex control system. In this new There are three input signals for outer loop control: user-
problem, an algorithm computes a cruise speed to maintain a defined speed, vehicle speed, and all important radar data,
safe distance to any leading vehicles, which is measured by a for example, distance from the closest vehicle and its relative
radar or a lidar positioned in front of the vehicle. The objec- speed.
tive of this control system is to track a constantly changing Note that in this control problem there is only one vehicle
cruise speed, which adapts each time sampling. Because of being controlled and the only interaction of the control system
the adaptation of the cruise speed, this new control system with the environment is through the radar sensor. There is
has been referred as Adaptive Cruise Control (ACC) System. another research area known as Cooperative Adaptive Cruise
An ACC system can be implemented using many control Control (CACC) Systems [3], which will not be discussed in
structures. For example, in [2] the control design uses a this work, that considers a mutual communication between
the controlled and the leading vehicle [4].
The associate editor coordinating the review of this manuscript and Several control theories are being applied in ACC systems.
approving it for publication was Huiqing Wen. Some examples are the usage of the Fuzzy logic [5], [6],
2169-3536
2019 IEEE. Translations and content mining are permitted for academic research only.
VOLUME 7, 2019 Personal use is also permitted, but republication/redistribution requires IEEE permission. 55305
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

control barriers [7], sliding mode [8] and balanced-based Matlab [22]. The authors used this model as a simulated sys-
adaptive control [9]. In the later paper, it is important to tem to compare three controllers: a proportional-integral (PI)
remark that the adaptive control theory does not present controller with Gain Scheduling, a Balanced-based adaptive
a direct relationship with the ACC theory, which will be controller [9] and a nonlinear model predictive controller
explained in Section IV. (NMPC). This paper also discusses a switching logic between
There are some works that analyze the ACC problem ACC and cruise control (CC) modes. For the NMPC, the con-
differently. In [10], it considers multiple vehicles with ACC trol law analyzes the last control input to select a linear
systems. In such a paper, the main objectives are to reduce the model of acceleration or braking and recomputes the MPC
distance spring effects between the vehicles and to improve matrices. Because the model for control is constantly switch-
the traffic flow. In [11], a study of traffic changes is addressed ing, the authors named it as a nonlinear model predictive
comparing scenarios without any cruise systems, with CC control.
systems, and with ACC systems. Given the abundant presence of MPC in many ACC Sys-
An attractive control theory in ACC researches is the tems papers, this work aims to contribute with an adapted
Model Predictive Control (MPC). This technique is quite outer loop controller and two different applications of
particular since its origins came from industrial control pro- the MPC theory for the inner loop. Unlike many papers,
cesses. In 2003, Badgwell and Joe published an interest- this work aims the validation of the controllers through
ing survey about MPC development and its use in several embedded applications in customized hardware using a
engineering areas [12]. The development of MPC is shown safe test environment. The formulation of finite horizon
to be very attached to the needs of industries of refineries, MPC and infinite horizon MPC (IHMPC) are addressed in
petrochemicals, chemicals and more. A key feature of the Section IV [23]–[25].
MPC design is the handling of constraints of control input, The main contributions of this paper are: (i) a practical val-
its variations, and even the system output range [13]. idation of ACC in a real system with a customized hardware;
The fundamental theory for the model predictive control (ii) two embedded applications of MPC; (iii) an application
is to use a model representation of a system to predict the of an infinite horizon MPC for ACC; (iv) a comparison of two
system performance. The MPC aims to compute a control MPC controllers in an ACC application.
law that minimizes a cost function, up to a few sampling The paper has the following organization: in Section II,
steps ahead [14]. Interestingly, Camacho compares the action the vehicle of this work and its particularities are described.
of driving with the theory of MPC, showing their similari- Next in Section III, a suitable representation of the vehicle
ties [13]. is addressed. The outer and inner controllers are designed
Next, more papers with the MPC are addressed in ACC within Section IV. The practical results of the controllers are
systems. After doing the control law design, [15] shows a shown and discussed in Section V. Conclusions of the work
method to explicitly indicate the control law. This method are featured in Section VI.
is compelling because it helps to embed the control law in
microcontrollers. In [16], it also computes an explicit MPC,
II. VEHICLE AND TEST ENVIRONMENT
but it uses a technique known as PieceWise-Affine (PWA) to
The test environment of this work consists of a Volkswagen
express the control law.
vehicle, Polo Sedan 2004 with spark-ignition engine 2.0 L,
Another paper also used PWA techniques for explicit
shown in Figure 2, that is controlled using an open-source
MPC [17]. This paper compares all different techniques
electronic control unit (ECU); an inertial dynamometer from
by checking their system control and programming perfor-
NAPRO company; and an ACC module with a long-range
mances. In [18], the authors combine the MPC theory with
radar capability for future on-road applications.
dynamic programming to reduce energy consumption.
In [19], an ACC system is designed for an articulated
truck considering an autonomous driving in an electrified A. VEHICLE
highway. The cruise speed is computed using a proportional The open-source ECU was developed by the Automo-
control law and the inner loop control tracks the speed using tive Electronics Group from Escola Politécnica da Uni-
a conventional MPC. This paper evaluates the control design versidade de São Paulo (EPUSP) aiming the research
and its performance by driving maneuvers using simulations. of ADAS. The ECU has a decentralized architec-
Two more papers with particularities are interesting to ture of three microcontrollers. Each microcontroller has
highlight. The first one [20] aims to optimize the number a distinct functionality: management, synchronism and
of shifts between accelerator and brake through the control communication [26].
loop. This specification helps to reduce the discomfort of This ECU has been improved in the last years, presenting
the passengers. The second paper [21] uses multiple vehicles a power and torque performance and driving characteristics
model to describe the system and design the model predictive equivalent to the vehicle factory ECU. The CAN Messages
controller. used for this work are presented in Table 1. These messages
One last paper to be mentioned is [2], from the were customized to easily operate and read the most relevant
same authors that made a translational vehicle model in variables for the ACC system.

55306 VOLUME 7, 2019


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

TABLE 1. CAN messages for the ACC system.

FIGURE 3. Photo of ACC module.


FIGURE 2. Photo of Polo vehicle.

B. DYNAMOMETER System Identification Theory was chosen to obtain a model


All experiments were performed in a chassis dynamometer representation of the vehicle with low complexity but yet a
from NAPRO Company, also shown in Figure 2. It has the reliable model for the control design. The control input is the
capability of setting a torque load and can be used to simulate accelerator pedal, which range varies from 0% (not pushed)
different roads, for example, higher slope or different terrains. to 100% (fully pushed). The output of an ACC system is
This load torque can be selected from 0% to 100% of the max- the translational vehicle speed (considered in meters per sec-
imum torque load of the dynamometer roller. For this work, ond). Both signals have specific CAN Messages, as shown
such load torque was considered as an external disturbance. in Table 1.
From a previous step response experiment [26], the system
C. ACC MODULE presented a time delay of θ = 0.5 seconds and a time constant
The ACC Module, shown in Figure 3, has been developed to approximately equal to 5 seconds. Therefore, a sampling time
permit communication between a microcontroller LPC1768, of Ts = 0.5 seconds is suitable for the system identification
the vehicle ECU and, in the future, with an ARS300 Radar. and control design, since it samples ten times faster than the
The LPC1768 [27] is 32-bit ARM Cortex M3 microcon- slowest time constant.
troller, 96 MHz, with 512 kB of memory flash and 32 kB of Regarding the identification model, an ARX structure was
RAM. chosen due to its simplicity, considering that the signal-to-
The ACC algorithm is embedded in the LPC1768. Other noise ratio of the CAN network is good and with the assump-
key components are the two CAN Transceivers MCP2561 tion that the disturbance is a white noise [29]. Certainly,
[28] of Microchip, each for both CAN Channels and the the noise variance is very low due to the robustness of the
two terminating resistors. Some coupling capacitors were CAN network.
also added to the circuit in order to improve the quality of Considering a sampling frequency fs = 2 Hz, the cho-
the power supplies. Finally, there are two connectors for the sen identification input signal was the Pseudo-random
Vehicle CAN network and for the Radar network. Binary Sequence (PRBS), with a frequency bandwidth up
to fs /20 Hz. All the experiments were established with the
III. SYSTEM IDENTIFICATION vehicle set in the third gear since it has a manual transmis-
Although the vehicle has a customized ECU, it does not sion. Using up to 35% of the accelerator pedal, the speed
have an electronic brake system. Thus, this research discarded of the vehicle achieved 120 km/h, under safe conditions
using the brake pedal as a control input. Additionally, the of use.

VOLUME 7, 2019 55307


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

A. PRBS SPECIFICATION TABLE 3. Models designation.

The characteristics of the PRBS signals used in the system


identification are presented in Table 2. Every experiment
lasted 4 minutes, resulting in 480 samples. The first 3 min-
utes, or 360 samples, were used for the system identification
and the last minute of experiment, 120 samples, were used for
the system validation.

TABLE 2. PRBS data specification. TABLE 4. Coefficients and time delay of ARX models.

Three dynamometer loads were used: 0%, 10%, and 15%.


Such load values were chosen to simulate contrasting envi-
ronments, from soft terrains (0% load) up to harder terrains as
muddy roads (15% load). To reduce correlations within each
experiment using different dynamometer loads, each input
range created 12 minutes of data, or 1440 samples. Within
these 12 minutes, the first 4 minutes were used for load 0%
TABLE 5. Fit (%) for system validation, with several configurations of
(named as load A), the following 4 minutes were used for load steps ahead.
10% (named as load B) and the last 4 minutes for load 15%
(named as load C).

B. ARX MODELS
An autoregressive with exogenous input (ARX) model with
one input and one output has the following structure:

y(t) + a1 y(t − 1) + . . . + ana y(t − na)


= b1 u(t − nk) + bnb u(t − nk − nb + 1) + e(t)
A(q)y(t) = B(q)u(t)

Given an input u and an output y, an ARX model calculates


all ai and bi coefficients in order to reduce the error e(t). The
system time delay is defined as nk and the orders of A(q) and
B(q), respectively na and nb. All ARX models for the vehicle
had nk = 1, since the time delay for the step response was C. MODELS VALIDATION
θ = 0.5 s equal to the sampling time. The experiment data selected for validation were used to com-
The orders na = 2 and nb = 3 had the best Minimum pare ARX models response with the corresponding experi-
Description Length (MDL) criterion [30]. The order nb needs mental vehicle speed. The Fit indexes [29] were calculated
to be higher than na because in Section IV, while creat- for 1, 5, 10, 50 and infinite (simulation) steps ahead, and their
ing an Output Prediction Oriented Model (OPOM), it was results are presented in Table 5. Despite the evident decrease
necessary for the transfer function B(q)/A(q) to be strictly of the Fit index with higher prediction steps, these results
proper. are remarkably high given that in the worst situation, infinite
From now on, the ARX models will be designated as steps ahead, the lowest index was 73.87%, which is generally
shown in Table 3. The number represents the PRBS range a good value.
and the letter represents the dynamometer load used for the
identification. IV. CONTROL DESIGN
In Table 4, all nine ARX models coefficients are shown, In this research, one controller is designed for the outer loop
changing the minimum and maximum input values and the and two controllers for the inner loop using the MPC theory.
dynamometer load. Every system has one sample delay (nk = The outer loop controller must be able to change between
1) with Ts = 0.5 seconds. Cruise Control (CC mode) and Adaptative Cruise Control

55308 VOLUME 7, 2019


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

(ACC mode). For CC mode, the user-defined speed should necessary to include them in the model. Each ARX model can
be the cruise speed, whereas in the ACC mode, a new cruise be transformed into the space state incremental model. The
speed must be calculated in order to maintain a safe distance. system input u(k) is the accelerator pedal at the instant k and
the system output y(k) is the vehicle speed v at the instant k.
A. ACC CONTROLLER The objective function for Conventional MPC, at any
The algorithm for the outer loop controller was adapted instant k, can be described as:
from [2]. Designating the controlled vehicle speed as v, p
X
the user defined speed as vuser , the measured distance d with JkMPC = (y(k + j|k) − ysp )T Q(y(k + j|k) − ysp )
the closest vehicle and a security distance dref with the closest j=1
vehicle. m−1
X
The controller for the outer loop must compute dref to + 1u(k + j|k)T R1u(k + j|k) (4)
maintain a empirically safe distance to the leading vehicle. j=0
In [2], the authors suggest computing dref as in Equation (1).
The parameter ` is the length of the system vehicle, ds it The element ysp is the desired output value, m is the control
is an additional distance to avoid crashes and Th is known horizon, p is the prediction horizon, Q and R are weight matri-
as constant-time headway, which estimates a human driver ces related to output error and control input, respectively.
reaction time. Usually, this value varies between 0.8 and Foremost, the output prediction vector y(k) is assembled,
2 seconds. considering that after the sample k + m there are no control
inputs (1u(k + m|k) = 1u(k + m + 1|k) = . . . = 0).
dref = ` + ds + Th v (1) The Equation (5) shows the prediction to the horizon p at the
instant k, compressing all m control signals into 1uk .
The same authors suggest computing a reference speed,
1u(k|k)
 
named as vref , as shown in Equation (2) [2], which performs
as an adaptive control law. If the distance d for the closest  1u(k + 1|k) 
y(k) = 8x(k) + 01uk , 1uk =  ..  (5)
 
vehicle is the same as the security distance dref , the system
is safe to travel with the same speed of the closest vehicle
 . 
vl , commonly described as the leading vehicle. Otherwise, 1u(k +m−1|k)
it is necessary to change the security speed vref using a where:
proportional gain Kp . T
8 = CA CA2 ... CAm CAm+1 . . . CAp

;
vref = vl − Kp (dref − d) (2) 
CB 0 ... 0

 CAB CB ... 0
.. .. .. ..
 
Algorithm 1 Outer Loop Controller 
 . . . .


1: dref = ` + ds + Th v; 0= ...
 m−1
CAm−2 B

2: vref = vl − Kp (dref − d);
CA m B CB 
...

 CA B CAm−1 B CAB 
3: If vref > vuser , vcruise = vuser (CC Mode); .. .. .. ..
 
 
4: Otherwise, vcruise = vref (ACC Mode).
 . . . . 
CAp−1 B CAp−2 B ... CAp−m B
The adapted control law is shown in Algorithm 1. Firstly, Considering that the output set-point ysp remains constant
the controller computes dref and vref . Next, it compares if for any output prediction,
" # then the set-point vector will be
T
the reference speed is greater than the user-defined speed. T T
ysp . . . ysp
If this statement is true, the cruise speed must be limited to ysp = | {z } . To expand the sum in (4), it is
p
vuser , causing the controller to enter in CC mode. Otherwise,
also necessary to consider weight matrices Qand R in their
the cruise speed will be adjusted to vref , in order to keep a Q...Q
safe distance from the leading vehicle (ACC mode). respective horizons, obtaining Q = diag | {z } and
p
. . .
 
R R
B. CONVENTIONAL MPC R = diag | {z } .
m
In this work, the model for the control design uses a state Expanding all elements of (4), the following expression is
space representation, as follows: obtained:
x(k + 1) = Ax(k) + B1u(k) JkMPC = (8x(k) + 01uk − ysp )T Q(8x(k) + 01uk − ysp )
y(k) = Cx(k) (3) + 1uk T R1uk
This model is in an incremental form, that has an input The objective function JkMPC can still be reduced to a
signal given by 1u(k) = u(k) − u(k − 1). The incremental quadratic form:
form is able to reduce output offsets if the desired state is
reachable [13], [14]. Also, if the model has time delays, it is JkMPC = 1uk T H 1uk + 2cf T 1uk + c (6)

VOLUME 7, 2019 55309


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

where Finally, the control law for implementing the MPC will be
 the solution of:
H = 0 Q0 + R;
 T

cf T = (8x(k) − ysp )T Q0; min 1uk T H 1uk + 2cf T 1uk


1uk
c = (8x(k) − ysp )T Q(8x(k) − ysp ).

s.t. Ac 1uk ≤ bc

(8)
The control law for conventional MPC will be the solution
C. INFINITE HORIZON MPC
of the following Quadratic Programming (QP):
Similar to conventional MPC, it is recommended to use spe-
min 1uk T H 1uk + 2cf T 1uk cific models for accomplishing IHMPC control functions.
1uk An available model representation for the IHMPC is the Out-
s.t. − 1umax ≤ 1u(k + j|k) ≤ 1umax , put Prediction Oriented Model (OPOM), which is detailed in
j = 0, 1, . . . , m − 1 Appendix A [24]. This model is also in the incremental form.
umin ≤ u(k + j|k) ≤ umax , j = 0, 1, . . . , m − 1 (7) It has incorporated time delays and has some advantages
when used as a model for the IHMPC.
For MPC Quadratic Programming implementation, it is However, the OPOM might have complex matrices, result-
required to adjust all constraints for Hildreth’s Algorithm [31] ing in complex states. This occurrence is detrimental because
into constraints in the form Ac 1uk ≤ bc . Using the identity some QP solvers do not operate with complex problems.
u(k) = 1u(k) + u(k − 1), Ac and bc will be: In Appendix B, it is shown a method to transform the OPOM
to only have real states. The system input u(k) is the acceler-
...
 
Inu 0 0 ator pedal and output y(k) is the vehicle speed v.
 0 Inu ... 0  The objective function for IHMPC, at any instant k, can be
 .. .. .. .. 
 
 . described as [25]:
. . . 
. . .
 
 0 0 Inu  JkIHMPC
...
 
−Inu 0 0  ∞
−Inu . . .
  X
 0 0  = (y(k + j|k) − ysp − δy )T Q(y(k + j|k) − ysp − δy )
 .. .. .. .. 
 
 . . . .  j=0
| {z }
. . . −Inu 
 
 0 0 J1
Ac =  ;
 Inu 0 ... 0  m−1
X
... 1u(k + j|k)T R1u(k + j|k) + δy T Sy δy
 
 Inu Inu 0  + (9)
 . .. .. .. 
 
 .. . . . 
j=0

. . .
 
 Inu I nu Inu 
 For this control technique, it is essential to use slack
. . .

−Inu 0 0  variables δy for each output, because the control law will
−Inu −Inu . . .
 
0  converge to an expression with equality constraints. Without
 . . . .
 
 .. .. .. ..  slack variables, it is possible to have unfeasible solutions. The

solution for IHMPC control law must calculate a control input
−Inu −Inu ... −Inu
sequence 1uk and the slack variables δy . With this control
1umax
 
design and with one output, Sy is the weight scalar related to
 1umax  the slack variables.
..
 

 .

 At first, an expansion of the infinite sum of JkIHMPC is

1u
 expressed:
 max 
1u
 
 max  m+θmax
1u
  X
 max  J1 = (yk (j) − ysp − δy )T Q(yk (j) − ysp − δy )
..
 
. j=0
 
  | {z }
1umax
 
  J1a
bc = 
 
 umax − u(k − 1) 
 ∞
X
 umax − u(k − 1)  + (yk (j) − ysp − δy )T Q(yk (j) − ysp − δy )
..
 
j=m+θmax +1
.
 
  | {z }
 
 umax − u(k − 1)  J1b
 
−umin + u(k − 1) with yk (j) = y(k + j|k)
 
−umin + u(k − 1)

 ..

 Similar to the conventional MPC, an output prediction
 .  vector is calculated with m + θmax as the prediction horizon
−umin + u(k − 1) and all m control signals are compressed into 1uk , as shown

55310 VOLUME 7, 2019


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

in Equation (10). The matrix Qd can be calculated as solution of the follow-


ing discrete Lyapunov equation:
1u(k|k)
 
 1u(k + 1|k)  Qd = F T 9 T Qy 9F + F T Qd F
y(k) = Ax(k) + B1uk ; 1uk =  .. (10)
 
. The predicted states x s (0) and x d (0) are expressed with

 
1u(k +m−1|k) relation to the states and the control input sequence 1uk :
x s (0) = Ns Aθmax (Am x(k) + W 1uk )
(
where:
 C  
0 0 ... 0

x d (0) = Nd Aθmax (Am x(k) + W 1uk )
CA  CB 0 ... 0 
where
 
.. .. .. .. ..
   
 
. . . . .
    
  h i
A =  CAm ; B = 
 
m−1 B m−2 B ... Ns = Iny 0ny×nd 0ny×θmax
 
 CA CA CB  


.. . . . .
    

.. .. .. ..
   h i
.
   
 
Nd = 0nd×ny Ind 0nd×θmax
CA m+θ max CA m+θ max −1 B CAm+θ max −2 B . . . CAθmax B 
 h i
W = Am−1 B Am−2 B . . . B


" Consequently, #T creating an output set-point vector ysp #=
" T
Iny . . . Iny
T T
ysp . . . ysp The next operation consists of replacing the previous
| {z } , a supporting vector I ny = | {z }
m+θmax +1 m+θmax +1
expressions in JkIHMPC :
and adjusting the weighting matrix Q as Qy = T
JkIHMPC = (Ax(k) + B1uk − ysp − I ny δy ) Qy
Q...Q
 
diag | {z } , the first expansion element of J1 can be × (Ax(k) + B1uk − ysp − I ny δy )
m+θmax +1
+ (Nd Aθmax (Am x(k) + W 1uk )) Qd
T
calculated as:
T × (Nd Aθmax (Am x(k) + W 1uk ))
J1a = (Ax(k) + B1uk − ysp − I ny δy ) Qy
+ 1uk T R1uk + δy T Sy δy
× (Ax(k) + B1uk − ysp − I ny δy )
As well as in MPC formulation, JkIHMPC can be reduced
For the second element of JkIHMPC , the output prediction into a quadratic form:
for any time instant j after m + θmax can be described as:
 H11 H12 1uk
  
JkIHMPC = 1uk δy

ym+θmax (j) = x s (0) + 9x d (j) (11) H21 H22 δy
y(k + m + θmax + j|k)  1uk
 
ym+θmax (j) = 
+ 2 cf 1 cf 2 + c (12)
x s (0) = x s (k + m + θmax |k) δy
x d (j) = x d (k + m + θmax + j|k) where
= (B)T Qy (B) + R

Replacing expansion (11) in J1b : 
 H11
+ (Nd Aθmax W ) Qd (Nd Aθmax W );

 T

∞ 

= −(B)T Qy (I ny );
X 
(x s (0) − ysp − δy + 9x d (j))T Qy H12

J1b = 


= H12 T ;

j=1


 H21

× (x s (0) − ysp − δy + 9x d (j)) H22 = (I ny )T Qy (I ny ) + Sy ;

T
 cf 1 = (Ax(k) − ysp ) Qy (B)
Being all F stable, the condition for J1b to be bounded is: 
+ (Nd Aθmax +m x(k)) Qd (Nd Aθmax W );


 T


x s (0) − ysp − δy = 0 T

cf 2 = −(Ax(k) − ysp ) Qy (I ny );




T

c = (Ax(k) − ysp ) Qy (Ax(k) − ysp )


If the above condition is satisfied, J1b remains as follows: 

+ (Nd Aθmax +m x(k)) Qd (Nd Aθmax +m x(k)).
T



X
J1b = (9x d (j))T Qy (9x d (j)) The control law for IHMPC will be the solution of the
j=1 following QP:

 H11 H12 1uk
X   
= (9F j x d (0))T Qy (9F j x d (0)) min 1uk δy

j=1 1uk ,δy H21 H22 δy
 1uk
 
∞ 
= x d (0)T (
X T
F j 9 T Qy 9F j ) x d (0) + 2 cf 1 cf 2
δy
|
j=1
{z } s.t. − 1umax ≤ 1u(k + j|k) ≤ 1umax ,
Qd j = 0, 1, . . . , m − 1

VOLUME 7, 2019 55311


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

umin ≤ u(k + j|k) ≤ umax , j = 0, 1, . . . , m − 1 For the tuning of the IHMPC, an increase in m also gives
Ns Aθmax (Am x(k) + W 1uk ) − ysp − δy = 0 a smoother control action as in the MPC. An increase in Q
penalizes the output prediction error and an increase in R
Similar to implementing conventional MPC,  the con- penalizes higher control input actions. However, it is impor-
T
straints must be transformed into the form AIH c 1uk δy ≤ tant that Sy > Q, otherwise it is possible for the control
IH
bc , to execute the Hildreth’s Algorithm [31]. The control to find a minimum with slacks nonzeros, which will allow
law for implementing IHMPC will be the solution of the steady-state errors. The Model 1A was also selected for pre-
following minimization problem and the matrices AIH IH
c and bc dicting the system. The parameters chosen empirically for the
for the IHMPC are shown next. IHMPC were:
 H11 H12 1uk
  
min 1uk δy

H21 H22 δy m = 10; Q = 0.1; R = 100; Sy = 1000.
1uk ,δy
 1uk The controllers were embedded using MBED C++ com-
 

+ 2 cf 1 cf 2
δy piler with few supporting libraries. The CAN Messages were
easily defined using LPC1768 functions for CAN Networks.
1uk
 
s.t. AIH ≤ bIH The ACC algorithm was programmed in such a way that the
c δy c
  user just needed to select the model for the control, select
Ac 0 MPC or IHMPC as active, and its tuning parameters. With the
AIH
c =
 Ns Aθmax W −1 ; software active, it automatically updates the dimensions and
θ
−Ns A Wmax 1
  values of the matrices H , cf , Ac and bc regarding the selected
bc control law.
bIH
c =
 ysp − Ns Aθmax +m x(k) . The computational time for the solution of each QP was
−ysp + Ns Aθmax +m x(k) also inspected. The MPC’s QP took less than 0.0439 seconds,
which is more than 10 times quicker than the sampling time
V. PRACTICAL RESULTS (Ts = 0.5 seconds). When the MPC arrives close to the cruise
The tuning of outer loop controller depends on two main vari- speed, the QP solution is found in less than 0.3 milliseconds.
ables, dref and vref . The security distance dref (Equation (1)) The IHMPC’s QP is calculated between 0.188 and 0.164 sec-
was computed with: onds. The IHMPC takes longer to solve the QP, since the
` = 4 m; ds = 1 m; Th = 2 s. equality constraint is stricter.
All the practical experiments for controllers validation
The computing of vref (Equation (2)) was empirically were performed using the vehicle in the dynamometer, for
tuned with: safety purposes. This setup allowed high-speed experiments,
Kp = 0.1. in the third gear, and even changing the dynamometer load
through the experiment. A leading vehicle was emulated in
The system actuator usually has three constraints: maxi-
the microcontroller as a discrete first-order system with a
mum value, minimum value, and maximum slew rate. As dis-
quicker time constant of 2.5 seconds.
cussed in Section III, the maximum value of the accelerator
Two experiments were proposed to analyze the controllers’
pedal is umax = 1 and the minimum value is umin = 0. There
performance in several environments. Experiment 1 had three
are no explicit limitations of the accelerator slew rate, so it
main objectives: check the performance of the control sys-
has been decided to use this constraint as a tuning parameter
tem in CC Mode, its dynamics while changing into ACC
for a smoother controller response. The maximum slew rate
Mode and its sensitivity to disturbances. Experiment 2 had
chosen was 1umax = 0.1, for positive and negative input
the objective to check the performance of the ACC System
variations.
with all possible scenarios regarding the leading vehicle. This
The tuning parameters of the MPC are: prediction hori-
experiment required a leading vehicle with lower, equal and
zon p, control horizon m, output error weight matrix Q and
higher speed in relation to the vuser .
control input weight matrix R. An increase in p results in
The procedure of Experiment 1 is shown in Figure 4.
a control that predicts more sampling times ahead and an
During the start of Experiment 1, the user-defined speed is
increase in m gives a smoother control action. An increase in
15 m/s and it is assumed that at 10 m of distance there is a
Q penalizes the output prediction error and R penalizes higher
leading vehicle at constant 15 m/s. At 30 s of the experiment,
control input actions.
there is an Event A. This event is described as the leading
Among the nine identified models, the Model 1A was
vehicle slowly breaks until it reaches the speed of 10 m/s.
selected to predict the system. Any of the nine models could
At 70 s, there is an Event B, in which the load torque of the
be chosen for the prediction, although the performance would
dynamometer slowly increases from 0% to 15%, representing
differ while using the same tuning parameters. The param-
the inclusion of disturbances.
eters chosen empirically for the MPC using the Model 1A
The procedure of Experiment 2 is shown in Figure 5.
were:
During the start of Experiment 2, the user-defined speed is
p = 10; m = 5; Q = 5; R = 1000. 15 m/s and it is assumed that at 10 m of distance there is a

55312 VOLUME 7, 2019


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

FIGURE 4. Schematic of the Experiment 1.

FIGURE 7. Distances and Control Signal for Experiment 1 with the MPC.
(a) Distances. (b) Control signal.

FIGURE 5. Schematic of the Experiment 2.

FIGURE 8. Speeds for the Experiment 1, using the IHMPC as inner


controller.

FIGURE 6. Speeds for the Experiment 1, using the MPC as inner


controller.

leading vehicle at constant 10 m/s. At 40 s of the experiment,


there is an Event A. This event is described as the leading
vehicle slowly accelerates until it reaches the speed of 15 m/s.
At 80 s, there is an Event B, in which the leading vehicle
slowly accelerates until reaching the speed of 20 m/s.
The practical results of Experiment 1 using the MPC are FIGURE 9. Distances and control signal for Experiment 1 with the IHMPC.
(a) Distances. (b) Control signal.
shown in Figures 6, 7(a) and 7(b). The first figure has the
relevant speeds of the experiment, the second figure has the
estimated distance to the leading vehicle and the calculated the ACC system maintained a considerable distance to the
distance dref and the third figure has the control signal (accel- leading vehicle.
erator pedal). In less than 5 seconds, the vehicle speed reached Next, the practical results of Experiment 1 using the
the cruise speed (set-point). The controller kept tracking the IHMPC are shown in Figure 8 with the relevant speeds of
cruise speed, as it converged into the vuser . The output pre- the experiment, the distances in Figure 9(a) and the control
sented a small amplitude of oscillation due to the number of signal in Figure 9(b). The controller quickly accelerated,
quantization bits of the control signal (only 8 bits). presenting a small overshoot, and later it tracked the cruise
After 30 s, the Event A started. Correspondingly, the outer speed smoother than the MPC.
loop controller changed into ACC Mode and the MPC After Event A, the outer loop controller changed into ACC
tracked the changing cruise speed. At 70 s of the experiment mode and the IHMPC also tracked the changing cruise speed.
(Event B), the load torque of the dynamometer started to After Event B, the control signal was increased to maintain
increase and the control signal changed to maintain the vehi- the vehicle speed close to the reference. The distance to
cle speed close to the cruise speed. Even with the distur- the leading vehicle remained close to safe values during the
bances, vehicle speed has barely changed. Most importantly, experiment.

VOLUME 7, 2019 55313


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

FIGURE 10. Speeds for the Experiment 2, using the MPC as inner
controller. FIGURE 13. Distances and control signal for Experiment 2 with the
IHMPC. (a) Distances. (b) Control signal.

VI. CONCLUSIONS
In a developed hardware module, this work successfully
designed embedded predictive controllers with direct com-
munication to the customized ECU of the vehicle. Both MPC
formulations were implemented as quadratic programming
problems, even with distinct prediction horizons and different
model representations.
The practical experiments 1 and 2 provided a wide anal-
ysis of the ACC system. The adapted algorithm of the outer
loop controller between CC and ACC modes performed ade-
FIGURE 11. Distances and control signal for Experiment 2 with the MPC. quately. Both predictive controllers also managed to track
(a) Distances. (b) Control signal. the constantly changing cruise speed with good performance.
Most importantly, each controller guaranteed a safe distance
to the leading vehicle during all the experiments.

APPENDIX A
CREATING AN OPOM WITH TIME DELAY
The method for creating the Output Prediction Oriented
Model (OPOM) is similar to [25], but with subtle differences
to include time delays in the model. Given any matrix of
discrete transfer functions G(z) with its elements:
bi,j,1 zna−1 + bi,j,2 zna−2 + . . . + bi,j,nb zna−nb
Gi,j (z) = ;
zna + ai,j,1 zna−1 + ai,j,2 zna−2 + . . . + ai,j,na
FIGURE 12. Speeds for the Experiment 2, using the IHMPC as inner
controller. with i = 1, . . . , ny; j = 1, . . . , nu. It will be discussed
later that it is suggested for all Gi,j (z) being strictly proper
transfer functions. Also, na and nb are the highest orders of
Regarding the Experiment 2, the practical results using the the denominators and numerators for all Gi,j (z). In this OPOM
MPC are shown in Figures 10, 11(a) and 11(b). The MPC formulation, it will be considered that there are no integrating
tracked the cruise speed during all the experiment. nor repeating poles.
After Event B, the leading vehicle accelerated even more to The discrete step response of Gi,j can be written as:
20 m/s, however, the cruise speed remained at 15 m/s, as well na h
X i
as the vehicle speed. This occurred for two reasons: the maxi-
0
Si,j (k) = di,j + d
di,j,l .rlk
mum speed for the outer loop controller is vuser = 15 m/s and l=1
the ACC System is not a vehicle following system, but a speed The poles of Gi,j are rl and the coefficients di,j 0 , dd ,
i,j,1
tracking system while maintaining a safe distance. Therefore, d , . . . , dd
the controlled vehicle did not follow the leading vehicle after
di,j,2 i,j,na can be obtained applying a partial fractions
expansion of the step response of Gi,j .
Event B, increasing the distance between the two vehicles.
The OPOM is a not minimal realization that has the same
Using the IHMPC as inner controller, the practical results
properties of an analytical step response of G(z). Each Gi,j
of the Experiment 2 are shown in Figures 12, 13(a) and 13(b). z
Likewise, the IHMPC managed to track the cruise speed. is affected by discrete step transfer function, , and then
z−1
55314 VOLUME 7, 2019
M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

the residue command from Matlab is used to collect poles and The new OPOM representation with time delay for all input
their respective residues. Because all Gi,j are strictly proper and output signals is described in Equations (16) and (17).
transfer functions, there will be no direct terms in the partial
fractions expansion. 
x s (k + 1)
 
x s (k)

The first residue is related to a pole located at 1. Since  d
x (k + 1)   d
x (k) 
there are no integrating poles in the original system, this pole 1u(k)  1u(k − 1) 
   
 1u(k − 2)  + BO 1u(k)
 
occurs because of the additional pole of the step transfer func-  1u(k − 1)  = AO
 
.. ..
 
tion. This residue is determined as di,j0 and it represents the    
 .   . 
system stationary gain. Each remaining residue corresponds 1u(k − θmax + 1) 1u(k − θmax )
d regarding each system poles.
to the coefficients di,j (16)
A state vector is defined with dimension nx related to the
x s (k)
 
number of inputs, outputs, and poles for the system. The  x d (k) 
dimension of x s is the same as the dimension of output since 
 1u(k − 1) 

x s represents the stationary gain to each output. y(k) = CO  1u(k − 2) 
 (17)
.

..
 
 
xs
 
x= , ns = ny, nd = ny × nu × na 1u(k − θmax )
xd
where
The first OPOM with θ time delay will be determined as
Iny 0 Bs1 Bs2 . . . Bsθmax −1 Bsθmax
 
follows:
0 F Bd1 Bd2 . . . Bdθmax −1 Bdθmax 
...
 
" # 0 0 0 0 0 0 
s (k + 1)  s (k)  Bsi,j
  
0 ,
xi,j 1 0 xi,j AO =
1uj (k − θ) 0 0 Inu 0 ... 0
 
= +
d
x i,j (k + 1) 0 Fi,j x d i,j (k) Bdi,j  . .. .. .. .. .. .. 
 .
. . . . . . .

(13)
 s  0 0 0 0 ... Inu 0
 xi,j (k)  s
9i,j

yi (k) = 1 (14) B0
x d i,j (k) Bd0 
Inu 
 
 0  , CO = Iny 9 0 0 . . . 0 ,
 
BO =
where  . 
 
 .. 
 
0
Fi,j = diag(ri,j,1 , . . . , ri,j,na ), 9i,j = 1 diag(r1,1,1 . . . r1,1,na . . . r1,nu,1 . . . r1,nu,na . . .
. . 1},
| .{z
F =
na rny,nu,1 . . . rny,nu,na ) ∈ Cnd×nd ,
8
" #   
Bsi,j D0 i,j 0

= , D0 i,j = di,j
0
, ..
Bdi,j Dd i,j Fi,j N 9 = . ,9 ∈ R
ny×nd
,
 

 
1  0 8
 ..  8= 1 . . . 1 , 8 ∈ Rnu×na .
  
Dd i,j = diag(di,j,1
d
, . . . , di,j,na
d
), N =  .  na

1

The definition of every Bs and Bd is somehow complicated.
Matrices Bsl , for l = 0, . . . , θmax are calculated as follows:
The system representation in Equation (13) is not practical
for control purposes since each Gi,j has its own time delay • If l 6= θi,j , there is no delay θ in element l for i, j, then
and each control input have a different instant of application. [Bsl ]i,j =0;
• 0.
Otherwise, [Bsl ]i,j = di,j
Therefore, it will be defined as a new state vector (Equa-
tion (15)), where θmax is the highest time delay among all If there is no time delay, θmax = 0 and l = 0, Bdl is
inputs and outputs. calculated as Bd0 = Dd FN , where:

x s (k) . . . d1,1,na . . . d1,nu,1 . . . d1,nu,na ...


 
Dd = diag(d1,1,1
d d d d
x d (k) d
. . . dny,nu,na
d
) ∈ Cnd×nd
 
dny,nu,1
 1u(k − 1) 
 
 
x(k) =  1u(k − 2) 
 (15) J 
.  .. 
 
.. N ∈ Rnd×nu ,
 
  N =  .  ny,
1u(k − θmax )

J 

VOLUME 7, 2019 55315


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

...
 
1 0 0 REFERENCES
 .. .. .. .. 
. . . . [1] Delphi. Delphi Adaptative Cruise Control. [Online]. Available:
1 0 ... 0 http://www.delphi.com/docs/default-source/old-delphi-files/1a5875e3-
 
7d50-461b-ad1d-9464017913bf-pdf.pdf
 .. ,

J ∈ Rnu na×nu .
J =
 .  [2] P. Shakouri, J. Czeczot, and A. Ordys, ‘‘Simulation validation of three
nonlinear model-based controllers in the adaptive cruise control system,’’
0 0 ... 1 J. Intell. Robotic Syst., vol. 80, no. 2, pp. 207–229, Nov. 2015.
. .. .. 
 
 .. ..
. . . [3] K. C. Dey et al., ‘‘A review of communication, driver characteristics, and
controls aspects of cooperative adaptive cruise control (CACC),’’ IEEE
0 0 ... 1 Trans. Intell. Transp. Syst., vol. 17, no. 2, pp. 491–509, Feb. 2016.
[4] C. M. Filho, M. H. Terra, and D. F. Wolf, ‘‘Safe optimization of high-
However if in Gi,j there is time delay l, nonzero elements way traffic with robust model predictive control-based cooperative adap-
tive cruise control,’’ IEEE Trans. Intell. Transp. Syst., vol. 18, no. 11,
of matrix Dd FN must be reallocated to their respective Bdl in pp. 3193–3203, Nov. 2017.
the same position they were in matrix Dd FN . After reallo- [5] N. Benalie, W. Pananurak, S. Thanok, and M. Parnichkun, ‘‘Improvement
cating every element of Dd FN , all other elements of Bdl are of adaptive cruise control system based on speed characteristics and time
headway,’’ in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Oct. 2009,
completed with zeros.
pp. 2403–2408.
[6] W. Pananurak, S. Thanok, and M. Parnichkun, ‘‘Adaptive cruise control
APPENDIX B for an intelligent vehicle,’’ in Proc. IEEE Int. Conf. Robot. Biomimetics,
Feb. 2009, pp. 1794–1799.
TRANSFORMING THE OPOM WITH REAL STATES
[7] A. D. Ames, J. W. Grizzle, and P. Tabuada, ‘‘Control barrier function based
For example, an OPOM with θmax = 1 and with a pair of quadratic programs with application to adaptive cruise control,’’ in Proc.
complex states x1d and x2d is represented as follows: 53rd IEEE Conf. Decis. Control, Dec. 2014, pp. 6271–6278.
[8] B. Ganji, A. Z. Kouzani, S. Y. Khoo, and M. Shams-Zahraei, ‘‘Adaptive
cruise control of a HEV using sliding mode control,’’ Expert Syst. Appl.,
x s (k + 1) Bs
   
Iny 0 0 vol. 41, no. 2, pp. 607–615, 2014.
x1d (k + 1)  0 f + gi 0 Bd1  [9] P. Shakouri, J. Czeczot, and A. Ordys, ‘‘Adaptive cruise control system
x d (k + 1) = 
0 0 f − gi Bd2 using balance-based adaptive control technique,’’ in Proc. 17th Int. Conf.

2
1u(k) 0 0 0 0 Methods Models Autom. Robot. (MMAR), Aug. 2012, pp. 510–515.
[10] J. Zhou and H. Peng, ‘‘Range policy of adaptive cruise control vehicles for
 s
x (k)
  
0 improved flow stability and string stability,’’ IEEE Trans. Intell. Transp.
 x1d (k)   0  Syst., vol. 6, no. 2, pp. 229–237, Jun. 2005.
× + 1u(k),
x2d (k)   0  [11] M. Vollrath, S. Schleicher, and C. Gelau, ‘‘The influence of Cruise Control
and Adaptive Cruise Control on driving behaviour—A driving simulator
1u(k − 1) Inu study,’’ Accident Anal. Prevent., vol. 43, no. 3, pp. 1134–1139, 2011.
x s (k)
  [12] S. J. Qin and T. A. Badgwell, ‘‘A survey of industrial model predictive
   x d (k)  control technology,’’ Control Eng. Pract., vol. 11, no. 7, pp. 733–764, 2003.
y(k) = Iny 1 1 0  1d [13] E. F. Camacho and C. B. Alba, Model Predictive Con-
x2 (k)  trol (Advanced Textbooks in Control and Signal Process-
1u(k − 1) ing). London, U.K.: Springer, 2007. [Online]. Available:
https://books.google.com.br/books?id=tXZDAAAAQBAJ
[14] J. Maciejowski, Predictive Control With Constraints. Upper Saddle River,
The elements x1d (k), x2d (k), f + gi, f − gi, Bd1 and Bd2 are NJ, USA: Prentice-Hall, 2002.
complex and x s (k), Bs , 1u(k − 1) and y(k) are real. The pair [15] G. J. L. Naus, J. Ploeg, M. J. G. Van de Molengraft, W. P. M. H. Heemels,
of complex poles, f + gi and f − gi, are already in discrete and M. Steinbuch, ‘‘Design and implementation of parameterized adaptive
∗ cruise control: An explicit model predictive control approach,’’ Control
time and Bd1 = Bd2 . Eng. Pract., vol. 18, no. 8, pp. 882–892, 2010.
It can be shown that the free response of this OPOM is the [16] A. Oliveri, G. J. L. Naus, M. Storace, and W. P. M. H. Heemels, ‘‘Low-
same free response of the following pair (A,C): complexity approximations of PWA functions: A case study on adaptive
cruise control,’’ in Proc. Eur. Conf. Circuit Theory Design (ECCTD),
Aug. 2011, pp. 669–672.
Iny 0 0 Bs
 
[17] D. Corona and B. De Schutter, ‘‘Adaptive cruise control for a SMART car:
0 f g Bdreal1 
, C = Iny 1 0 0
  A comparison benchmark for MPC-PWA control methods,’’ IEEE Trans.
A=
0 d Control Syst. Technol., vol. 16, no. 2, pp. 365–372, Mar. 2008.
−g f Breal2 
[18] A. Weißmann and D. Görges, and X. Lin, ‘‘Energy-optimal adaptive cruise
0 0 0 0 control combining model predictive control and dynamic programming,’’
Control Eng. Pract., vol. 72, pp. 125–137, Mar. 2018.
[19] J. Felez, C. García-Sanchez, and J. A. Lozano, ‘‘Control design for an
The next step is to determine Bdreal1 and Bdreal2 for main- articulated truck with autonomous driving in an electrified highway,’’ IEEE
taining the system response. The required matrix Dd in order Access, vol. 6, pp. 60171–60186, 2018.
to do that it is defined as follows: [20] L. Luo, J. Chen, and F. Zhang, ‘‘Integrated adaptive cruise control design
considering the optimization of switching between throttle and brake,’’ in
  Proc. IEEE Intell. Vehicles Symp. (IV), Jun. 2016, pp. 1162–1167.
real(Bd1 ) − imag(Bd1 ) −real(Bd1 ) − imag(Bd1 ) [21] Y. Sun, D. He, X. Song, and L. Zhang, ‘‘Multi-performance predictive
Dd =
−real(Bd1 ) − imag(Bd1 ) real(Bd1 ) − imag(Bd1 ) cruise control of connected vehicles on urban roads,’’ in Proc. 35th Chin.
Control Conf. (CCC), Jul. 2016, pp. 9270–9275.
[22] P. Shakouri, A. Ordys, M. Askari, and D. S. Laila, ‘‘Longitudinal vehicle
Finally, Bdreal1 and Bdreal2 are calculated as follows: dynamics using simulink/MATLAB,’’ in Proc. UKACC Int. Conf. Control,
Sep. 2010, pp. 1–6.
    
Bdreal1 f g 1 [23] M. V. Kothare, V. Balakrishnan, and M. Morari, ‘‘Robust constrained
= Dd model predictive control using linear matrix inequalities,’’ Automatica,
Bdreal2 −g f 1 vol. 32, no. 10, pp. 1361–1379, 1996.

55316 VOLUME 7, 2019


M. M. Brugnolli et al.: Predictive ACC Using a Customized ECU

[24] M. A. F. Martins and D. Odloak, ‘‘A robustly stabilizing model predictive BRUNO AUGUSTO ANGÉLICO received the
control strategy of stable and unstable processes,’’ Automatica, vol. 67, degree in electrical engineering from the State
pp. 132–143, May 2016. University of Londrina, Brazil, in 2003, and the
[25] D. Odloak, ‘‘Extended robust model predictive control,’’ AIChE J., vol. 50, M.S. and Ph.D. degrees in electrical engineer-
no. 8, pp. 1824–1836, 2004. ing from Escola Politécnica, University of São
[26] M. M. Brugnolli, B. S. Pereira, B. A. Angélico, and A. A. M. Laganá, Paulo (EP-USP), São Paulo, Brazil, in 2005 and
‘‘Adaptive cruise control with a customized electronic control unit,’’ 2010, respectively. Since 2013, he has been with
J. Control, Autom. Elect. Syst., vol. 30, no. 1, pp. 9–15, Feb. 2019.
the Telecommunications and Control Engineering
[27] Mbed. LPC1768 MBED. Accessed: Aug. 5, 2017. [Online]. Available:
Department, EP-USP, where he is currently an
https://os.mbed.com/platforms/mbed-LPC1768/
[28] Microchip. MCP2561 Overview Page. Accessed: May 10, 2017. [Online]. Assistant Professor. His research interests include
Available: http://www.microchip.com/wwwproducts/en/MCP2561 digital control and robust control. He is a member of the Brazilian Society
[29] L. Ljung, System Identification: Theory for the User, 2nd ed. of Automatics and the IEEE Control Systems Society.
Upper Saddle River, NJ, USA: Prentice-Hall, 1999.
[30] J. Rissanen, ‘‘Modeling by shortest data description,’’ Automatica, vol. 14,
no. 5, pp. 465–471, 1978.
[31] C. Hildreth, ‘‘A quadratic programming procedure,’’ Naval Res. Logistics
Quart., vol. 4, no. 1, pp. 79–85, 1957.

ARMANDO ANTONIO MARIA LAGANÁ


received the degree in electrical engineering from
MATEUS MUSSI BRUGNOLLI received the the School of Engineering Maua, in 1975, and the
degree in control and automation engineering from Ph.D. degree in electrical engineering from Escola
the State University of São Paulo, Brazil, in 2016, Politécnica, Universidade de São Paulo, in 1994,
and the M.S. degree in electrical engineering from where he is currently a Professor with the Depart-
the Escola Politécnica of the University of São ment of Electronic Systems Engineering. He is
Paulo (EP-USP), São Paulo, Brazil, in 2018, where involved in the automotive electronics field with
he is currently pursuing the Ph.D. degree. His an emphasis on engine management; moreover, his
research interests include model predictive control previous experience is in the field of materials and
and robust control applications. processes of microelectronics.

VOLUME 7, 2019 55317

Das könnte Ihnen auch gefallen