Beruflich Dokumente
Kultur Dokumente
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.
TABLE 2. PRBS data specification. TABLE 4. Coefficients and time delay of ARX models.
B. ARX MODELS
An autoregressive with exogenous input (ARX) model with
one input and one output has the following structure:
(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)
where Finally, the control law for implementing the MPC will be
the solution of:
H = 0 Q0 + R;
T
. . .
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
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
FIGURE 7. Distances and Control Signal for Experiment 1 with the MPC.
(a) Distances. (b) Control signal.
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:
...
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.
[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.