Predictive Cruise Control Tech
Predictive Cruise Control Tech
ABSTRACT ADAS is a group of technologies that support the driving with safety measures, such as
the 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 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 There are three input signals for outer loop control: user-
The automotive research is an abundant area with many defined speed, vehicle speed, and all important radar data,
control problems to be solved. One of the most discussed for example, distance from the closest vehicle and its relative
themes is the development and improvement of Advanced speed.
Driver Assistance Systems (ADAS). These systems aid the
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
track the desired speed (known as cruise speed).
Such CC systems were improved using vision technolo- FIGURE 1: Representation of an ACC System.
gies, for example, long-range radars. This change started
the development of a complex control system. In this new Note that in this control problem there is only one vehicle
problem, an algorithm computes a cruise speed to maintain a being controlled and the only interaction of the control sys-
safe distance to any leading vehicles, which is measured by a tem with the environment is through the radar sensor. There is
radar or a lidar positioned in front of the vehicle. The objec- another research area known as Cooperative Adaptive Cruise
tive of this control system is to track a constantly changing Control (CACC) Systems [3], which will not be discussed in
cruise speed, which adapts each time sampling. Because of this work, that considers a mutual communication between
the adaptation of the cruise speed, this new control system the controlled and the leading vehicle [4].
has been referred as Adaptive Cruise Control (ACC) System. Several control theories are being applied in ACC systems.
An ACC system can be implemented using many control Some examples are the usage of the Fuzzy logic [5], [6],
structures. For example, in [2] the control design uses a control barriers [7], sliding mode [8] and balanced-based
structure of two control loops, an inner and an outer, as can be adaptive control [9]. In the later paper, it is important to
seen in Figure 1. For inner loop control, there are two input remark that the adaptive control theory does not present
signals: cruise speed and system (vehicle) speed. The inner a direct relationship with the ACC theory, which will be
loop outputs are the signals for the actuators of the system. explained in Section IV.
VOLUME 4, 2016 1
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
There are some works that analyze the ACC problem cruise control (CC) modes. For the NMPC, the control law
differently. In [10], it considers multiple vehicles with ACC analyzes the last control input to select a linear model of
systems. In such a paper, the main objectives are to reduce the acceleration or braking and recomputes the MPC matrices.
distance spring effects between the vehicles and to improve Because the model for control is constantly switching, the
the traffic flow. In [11], a study of traffic changes is addressed authors named it as a nonlinear model predictive control.
comparing scenarios without any cruise systems, with CC Given the abundant presence of MPC in many ACC Sys-
systems, and with ACC systems. tems papers, this work aims to contribute with an adapted
An attractive control theory in ACC researches is the outer loop controller and two different applications of the
Model Predictive Control (MPC). This technique is quite MPC theory for the inner loop. Unlike many papers, this
particular since its origins came from industrial control pro- work aims the validation of the controllers through embedded
cesses. In 2003, Badgwell and Joe published an interesting applications in customized hardware using a safe test envi-
survey about MPC development and its use in several en- ronment. The formulation of finite horizon MPC and infinite
gineering areas [12]. The development of MPC is shown horizon MPC (IHMPC) are addressed in Section IV [23]–
to be very attached to the needs of industries of refineries, [25].
petrochemicals, chemicals and more. A key feature of the The main contributions of this paper are: (i) a practical val-
MPC design is the handling of constraints of control input, idation of ACC in a real system with a customized hardware;
its variations, and even the system output range [13]. (ii) two embedded applications of MPC; (iii) an application
The fundamental theory for the model predictive control of an infinite horizon MPC for ACC; (iv) a comparison of
is to use a model representation of a system to predict the two MPC controllers in an ACC application.
system performance. The MPC aims to compute a control The paper has the following organization: in Section II,
law that minimizes a cost function, up to a few sampling steps the vehicle of this work and its particularities are described.
ahead [14]. Interestingly, Camacho compares the action of Next in Section III, a suitable representation of the vehicle
driving with the theory of MPC, showing their similarities is addressed. The outer and inner controllers are designed
[13]. within Section IV. The practical results of the controllers are
Next, more papers with the MPC are addressed in ACC shown and discussed in Section V. Conclusions of the work
systems. After doing the control law design, [15] shows a are featured in Section VI.
method to explicitly indicate the control law. This method
is compelling because it helps to embed the control law in II. VEHICLE AND TEST ENVIRONMENT
microcontrollers. In [16], it also computes an explicit MPC, The test environment of this work consists of a Volkswagen
but it uses a technique known as PieceWise-Affine (PWA) to vehicle, Polo Sedan 2004 with spark-ignition engine 2.0 L,
express the control law. shown in Figure 2, that is controlled using an open-source
Another paper also used PWA techniques for explicit MPC electronic control unit (ECU); an inertial dynamometer from
[17]. This paper compares all different techniques by check- NAPRO company; and an ACC module with a long-range
ing their system control and programming performances. In radar capability for future on-road applications.
[18], the authors combine the MPC theory with dynamic
programming to reduce energy consumption. A. VEHICLE
In [19], an ACC system is designed for an articulated
truck considering an autonomous driving in an electrified
highway. The cruise speed is computed using a proportional
control law and the inner loop control tracks the speed using
a conventional MPC. This paper evaluates the control design
and its performance by driving maneuvers using simulations.
Two more papers with particularities are interesting to
highlight. The first one [20] aims to optimize the number
of shifts between accelerator and brake through the control
loop. This specification helps to reduce the discomfort of
the passengers. The second paper [21] uses multiple vehicles
model to describe the system and design the model predictive
controller.
One last paper to be mentioned is [2], from the same au-
thors that made a translational vehicle model in Matlab [22]. FIGURE 2: Photo of Polo vehicle.
The authors used this model as a simulated system to com-
pare three controllers: a proportional-integral (PI) controller The open-source ECU was developed by the Automotive
with Gain Scheduling, a Balanced-based adaptive controller Electronics Group from Escola Politécnica da Universidade
[9] and a nonlinear model predictive controller (NMPC). This de São Paulo (EPUSP) aiming the research of ADAS. The
paper also discusses a switching logic between ACC and ECU has a decentralized architecture of three microcon-
2 VOLUME 4, 2016
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
trollers. Each microcontroller has a distinct functionality: accelerator pedal, which range varies from 0% (not pushed)
management, synchronism and communication [26]. to 100% (fully pushed). The output of an ACC system is the
This ECU has been improved in the last years, presenting translational vehicle speed (considered in meters per second).
a power and torque performance and driving characteristics Both signals have specific CAN Messages, as shown in Table
equivalent to the vehicle factory ECU. The CAN Messages 1.
used for this work are presented in Table 1. These messages From a previous step response experiment [26], the system
were customized to easily operate and read the most relevant presented a time delay of θ = 0.5 seconds and a time constant
variables for the ACC system. approximately equal to 5 seconds. Therefore, a sampling time
of Ts = 0.5 seconds is suitable for the system identification
B. DYNAMOMETER and control design, since it samples ten times faster than the
All experiments were performed in a chassis dynamometer slowest time constant.
from NAPRO Company, also shown in Figure 2. It has the Regarding the identification model, an ARX structure was
capability of setting a torque load and can be used to sim- chosen due to its simplicity, considering that the signal-to-
ulate different roads, for example, higher slope or different noise ratio of the CAN network is good and with the assump-
terrains. This load torque can be selected from 0% to 100% tion that the disturbance is a white noise [29]. Certainly, the
of the maximum torque load of the dynamometer roller. For noise variance is very low due to the robustness of the CAN
this work, such load torque was considered as an external network.
disturbance. Considering a sampling frequency fs = 2 Hz, the chosen
identification input signal was the Pseudo-random Binary Se-
C. ACC MODULE quence (PRBS), with a frequency bandwidth up to fs /20 Hz.
The ACC Module, shown in Figure 3, has been developed to All the experiments were established with the vehicle set in
permit communication between a microcontroller LPC1768, the third gear since it has a manual transmission. Using up
the vehicle ECU and, in the future, with an ARS300 Radar. to 35% of the accelerator pedal, the speed of the vehicle
The LPC1768 [27] is 32-bit ARM Cortex M3 microcon- achieved 120 km/h, under safe conditions of use.
troller, 96 MHz, with 512 kB of memory flash and 32 kB
of RAM. A. PRBS SPECIFICATION
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.
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%
FIGURE 3: Photo of ACC Module. (named as load A), the following 4 minutes were used for
load 10% (named as load B) and the last 4 minutes for load
The ACC algorithm is embedded in the LPC1768. Other 15% (named as load C).
key components are the two CAN Transceivers MCP2561
[28] of Microchip, each for both CAN Channels and the B. ARX MODELS
two terminating resistors. Some coupling capacitors were An autoregressive with exogenous input (ARX) model with
also added to the circuit in order to improve the quality of one input and one output has the following structure:
the power supplies. Finally, there are two connectors for the
Vehicle CAN network and for the Radar network.
y(t) + a1 y(t − 1) + ... + ana y(t − na) =
III. SYSTEM IDENTIFICATION b1 u(t − nk) + bnb u(t − nk − nb + 1) + e(t)
Although the vehicle has a customized ECU, it does not have
A(q)y(t) = B(q)u(t)
an electronic brake system. Thus, this research discarded
using the brake pedal as a control input. Additionally, the Given an input u and an output y, an ARX model calcu-
System Identification Theory was chosen to obtain a model lates all ai and bi coefficients in order to reduce the error
representation of the vehicle with low complexity but yet a e(t). The system time delay is defined as nk and the orders
reliable model for the control design. The control input is the of A(q) and B(q), respectively na and nb. All ARX models
VOLUME 4, 2016 3
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
TABLE 2: PRBS data specification TABLE 4: Coefficients and time delay of ARX models
In this work, the model for the control design uses a state is also necessary to consider weight matrices Q and R in
space representation, as follows: Q...Q
their respective horizons, obtaining Q = diag | {z } and
p
x(k + 1) = Ax(k) + B∆u(k) R .
R = diag | {z } .. . R
(3)
y(k) = Cx(k) m
Expanding all elements of (4), the following expression is
This model is in an incremental form, that has an input obtained:
signal given by ∆u(k) = u(k) − u(k − 1). The incremental
form is able to reduce output offsets if the desired state is
reachable [13], [14]. Also, if the model has time delays, it JkMPC = (Φx(k) + Γ∆uk − y sp )T Q(Φx(k) + Γ∆uk − y sp )
is necessary to include them in the model. Each ARX model +∆uk T R∆uk
can be transformed into the space state incremental model.
The objective function JkMPC can still be reduced to a
The system input u(k) is the accelerator pedal at the instant
quadratic form:
k and the system output y(k) is the vehicle speed v at the
instant k.
JkMPC = ∆uk T H∆uk + 2cf T ∆uk + c (6)
The objective function for Conventional MPC, at any
instant k, can be described as: where
VOLUME 4, 2016 5
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
T
H = Γ QΓ + R;
The objective function for IHMPC, at any instant k, can be
cf T = (Φx(k) − y sp )T QΓ; described as [25]:
c = (Φx(k) − y sp )T Q(Φx(k) − y sp ).
The control law for conventional MPC will be the solution
of the following Quadratic Programming (QP): JkIHMPC =
∞
X
(y(k + j|k) − y sp − δy )T Q(y(k + j|k) − y sp − δy )
min ∆uk T H∆uk + 2cf T ∆uk j=0
∆uk | {z }
s.t. (7) J1
−∆umax ≤ ∆u(k + j|k) ≤ ∆umax , j = 0, 1, ..., m − 1 m−1
∆u(k + j|k)T R∆u(k + j|k) + δy T Sy δy
P
umin ≤ u(k + j|k) ≤ umax , j = 0, 1, ..., m − 1 + (9)
j=0
For MPC Quadratic Programming implementation, it is
required to adjust all constraints for Hildreth’s Algorithm For this control technique, it is essential to use slack
[31] into constraints in the form Ac ∆uk ≤ bc . Using the variables δy for each output, because the control law will
identity u(k) = ∆u(k) + u(k − 1), Ac and bc will be: 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
Inu 0 ... 0 ∆umax
input sequence ∆uk and the slack variables δy . With this
0 Inu ... 0 ∆umax
.. .. .. ..
..
control design and with one output, Sy is the weight scalar
. . . .
.
related to the slack variables.
0 0 ... Inu ∆umax At first, an expansion of the infinite sum of JkIHMPC is
−Inu 0 ... 0 ∆umax expressed:
0
−Inu ... 0
∆umax
.. .. .. .. ..
. . . . .
J1 =
0 0 ... −Inu ∆u max
Ac =
Inu
; bc =
umax − u(k − 1) m+θ max
0 ... 0 X
Inu
umax − u(k − 1) (yk (j) − y sp − δy )T Q(yk (j) − y sp − δy ) +
Inu ... 0
j=0
. .. .. .. ..
..
| {z }
. . .
.
J1a
umax − u(k − 1)
Inu Inu ... Inu ∞
X
−Inu
0 ... 0
−umin + u(k − 1)
(yk (j) − y sp − δy )T Q(yk (j) − y sp − δy )
−Inu −Inu ... 0 −umin + u(k − 1) j=m+θmax +1
. .. .. .. . | {z }
.. ..
J1b
. . .
−Inu −Inu ... −Inu −umin + u(k − 1) with yk (j) = y(k + j|k)
Finally, the control law for implementing the MPC will be Similar to the conventional MPC, an output prediction
the solution of: vector is calculated with m + θmax as the prediction horizon
and all m control signals are compressed into ∆uk , as shown
min ∆uk T H∆uk + 2cf T ∆uk
∆uk in Equation (10).
s.t. (8)
Ac ∆uk ≤ bc
∆u(k|k)
C. INFINITE HORIZON MPC ∆u(k + 1|k)
y(k) = Ax(k) + B∆uk ; ∆uk =
Similar to conventional MPC, it is recommended to use spe- ..
.
cific models for accomplishing IHMPC control functions. An ∆u(k + m − 1|k)
available model representation for the IHMPC is the Output (10)
Prediction Oriented Model (OPOM), which is detailed in
Where:
Appendix A [24]. This model is also in the incremental form.
It has incorporated time delays and has some advantages
when used as a model for the IHMPC. C
However, the OPOM might have complex matrices, result- CA
..
ing in complex states. This occurrence is detrimental because
some QP solvers do not operate with complex problems. In
.
A=
m
;
Appendix B, it is shown a method to transform the OPOM to CA
..
only have real states. The system input u(k) is the accelerator .
pedal and output y(k) is the vehicle speed v. CAm+θmax
6 VOLUME 4, 2016
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
(
0 0 ... 0 xs (0) = Ns Aθmax (Am x(k) + W ∆uk )
CB 0 ... 0
xd (0) = Nd Aθmax (Am x(k) + W ∆uk )
.. .. .. ..
. . . . where
h i
B =
CAm−1 B
CAm−2 B ... CB
N s = I ny 0ny×nd 0 ny×θmax
.. .. .. ..
h i
. . . . Nd = 0nd×ny Ind 0nd×θmax
CAm+θmax −1 B CAm+θmax −2 B CAθmax B
h i
...
W = Am−1 B Am−2 B . . . B
" Consequently, creating an output set-point vector y sp = The next operation consists of replacing the previous ex-
T T pressions in JkIHMPC :
T T
#
y sp . . . y sp
Iny . . . Iny
| {z } , a supporting vector I ny = | {z }
m+θmax +1 m+θmax +1
T
and adjusting the weighting matrix Q as Qy = JkIHMPC = (Ax(k) + B∆uk − y sp − I ny δy ) Qy
Q...Q ×(Ax(k) + B∆uk − y sp − I ny δy )
diag | {z } , the first expansion element of J1 can be
m+θmax +1 T
calculated as: + (Nd Aθmax (Am x(k) + W ∆uk )) Qd
×(Nd Aθmax (Am x(k) + W ∆uk ))
J1a = (Ax(k) + B∆uk − y sp − I ny δy ) Qy
T + ∆uk T R∆uk + δy T Sy δy
×(Ax(k) + B∆uk − y sp − I ny δy ) As well as in MPC formulation, JkIHMPC can be reduced
into a quadratic form:
For the second element of JkIHMPC , the output prediction
for any time instant j after m + θmax can be described as:
H11 H12 ∆uk
JkIHMPC
= ∆uk δy
H21 H22 δy
ym+θmax (j) = xs (0) + Ψxd (j) (11)
∆uk
ym+θmax (j) = y(k + m + θmax + j|k) + 2 cf 1 cf 2 +c (12)
δy
s s
x (0) = x (k + m + θmax |k)
d
where
= xd (k + m + θmax + j|k)
x (j)
H11 = (B)T Qy (B) + R
T
+(Nd Aθmax W ) Qd (Nd Aθmax W );
Replacing expansion (11) in J1b :
= −(B)T Qy (I ny );
H12
P∞ H21 = H12 T ;
J1b = (xs (0) − y sp − δy + Ψxd (j))T Qy
j=1
H22 = (I ny )T Qy (I ny ) + Sy ;
×(xs (0) − y sp − δy + Ψxd (j)) T
cf 1 = (Ax(k) − y sp ) Qy (B)
Being all F stable, the condition for J1b to be bounded is:
T
+(Nd Aθmax +m x(k)) Qd (Nd Aθmax W );
T
xs (0) − y sp − δy = 0 cf 2 = −(Ax(k) − y sp ) Qy (I ny );
T
c = (Ax(k) − y sp ) Qy (Ax(k) − y sp )
If the above condition is satisfied, J1b remains as follows:
T
+(Nd Aθmax +m x(k)) Qd (Nd Aθmax +m x(k)).
∞
X The control law for IHMPC will be the solution of the
J1b = (Ψxd (j))T Qy (Ψxd (j)) following QP:
j=1
∞
X
j d T j d
H11 H12 ∆uk
= (ΨF x (0)) Qy (ΨF x (0)) min ∆uk δy
∆uk ,δy H21 H22 δy
j=1
∞ ∆uk
X T +2 cf 1 cf 2
= xd (0)T ( F j ΨT Qy ΨF j ) xd (0) δy
j=1 s.t.
| {z }
Qd −∆umax ≤ ∆u(k + j|k) ≤ ∆umax , j = 0, 1, ..., m − 1
umin ≤ u(k + j|k) ≤ umax , j = 0, 1, ..., m − 1
The matrix Qd can be calculated as solution of the follow-
ing discrete Lyapunov equation: Ns Aθmax (Am x(k) + W ∆uk ) − y sp − δy = 0
Similar to implementing conventional MPC, the con-
Qd = F T ΨT Qy ΨF + F T Qd F T
straints must be transformed into the form AIH
c ∆uk δy ≤
The predicted states xs (0) and xd (0) are expressed with IH
bc , to execute the Hildreth’s Algorithm [31]. The control
relation to the states and the control input sequence ∆uk : law for implementing IHMPC will be the solution of the
VOLUME 4, 2016 7
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
20
15
Speed (m/s)
10
System Speed
5 Leading Vehicle Speed
Cruise Speed
User defined Speed
FIGURE 4: Schematic of the Experiment 1. 0
0 10 20 30 40 50 60 70 80 90 100
Time (s)
15 m/s and it is assumed that at 10 m of distance there is a 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 40 25
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 20
30
slowly accelerates until reaching the speed of 20 m/s. 15
20
10
10 Distance to the
leading vehicle (m) 5
Security distance (m) Control signal (%)
0 0
0 25 50 75 100 0 25 50 75 100
Time (s) Time (s)
(a) Distances (b) Control Signal
FIGURE 5: Schematic of the Experiment 2. FIGURE 7: Distances and Control Signal for Experiment 1
with the MPC.
40 40 20
30 30 15
Speed (m/s)
20 20
10
15
10 50
System Speed 10
5 Leading Vehicle Speed Control signal (%)
Cruise Speed 0 5
0 25 50 75 100 0 25 50 75 100
User defined Speed Time (s) Time (s)
0
0 10 20 30 40 50 60 70 80 90 100 (a) Distances (b) Control Signal
Time (s)
FIGURE 10: Speeds for the Experiment 2, using the MPC as FIGURE 13: Distances and Control Signal for Experiment 2
inner controller. with the IHMPC.
The practical experiments 1 and 2 provided a wide analysis The poles of Gi,j are rl and the coefficients
of the ACC system. The adapted algorithm of the outer d0i,j , ddi,j,1 , ddi,j,2 , ..., ddi,j,na can be obtained applying a partial
loop controller between CC and ACC modes performed fractions expansion of the step response of Gi,j .
10 VOLUME 4, 2016
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
The OPOM is a not minimal realization that has the same input and output signals is described in Equations (16) and
properties of an analytical step response of G(z). Each Gi,j (17).
z
is affected by discrete step transfer function, , and then
z−1
the residue command from Matlab is used to collect poles and xs (k + 1) xs (k)
their respective residues. Because all Gi,j are strictly proper xd (k + 1)
xd (k)
transfer functions, there will be no direct terms in the partial ∆u(k) ∆u(k − 1)
= AO + BO ∆u(k)
fractions expansion. ∆u(k − 1) ∆u(k − 2)
The first residue is related to a pole located at 1. Since .. ..
there are no integrating poles in the original system, this
. .
pole occurs because of the additional pole of the step transfer ∆u(k − θmax + 1) ∆u(k − θmax )
(16)
function. This residue is determined as d0i,j and it represents
the system stationary gain. Each remaining residue corre-
xs (k)
sponds to the coefficients ddi,j regarding each system poles. xd (k)
A state vector is defined with dimension nx related to the
∆u(k − 1)
number of inputs, outputs, and poles for the system. The y(k) = CO
(17)
∆u(k − 2)
dimension of xs is the same as the dimension of output since
..
xs represents the stationary gain to each output. .
s ∆u(k − θmax )
x
x = d , ns = ny, nd = ny × nu × na
x Where
The first OPOM with θ time delay will be determined as
B1s B2s . . . Bθsmax −1 Bθsmax
follows: Iny 0
0
F B1d B2d . . . Bθdmax −1 Bθdmax
xsi,j (k + 1)
1 0
xsi,j (k)
s
B 0 0 0 0 ... 0 0
= + i,j d ∆uj (k−θ) AO = 0
0 Inu 0 ... 0 0
,
xd i,j (k + 1) 0 Fi,j xd i,j (k) Bi,j
(13) .. .. .. .. .. .. ..
. . . . . . .
s
xi,j (k)
0 0 0 0 ... Inu 0
yi (k) = 1 Ψi,j (14)
xd i,j (k) B0s
B0d
Where
Inu
BO = 0 , CO = Iny Ψ 0 0 ... 0 ,
" #
..
Fi,j = diag(ri,j,1 , . . . , ri,j,na ), Ψi,j = |1 .{z . . 1} , .
s na 0
D0 i,j
Bi,j
d = , D0 i,j = d0i,j ,
Bi,j Dd i,j Fi,j N
F = diag(r1,1,1 . . . r1,1,na . . . r1,nu,1 . . . r1,nu,na . . .
1
d d d ..
rny,nu,1 . . . rny,nu,na ) ∈ Cnd×nd ,
D i,j = diag(di,j,1 , . . . , di,j,na ), N = . na
1
The system representation in Equation (13) is not practical Φ 0
for control purposes since each Gi,j has its own time delay Ψ=
.. ,Ψ ∈ R
ny×nd
,
.
and each control input have a different instant of application. 0 Φ
Therefore, it will be defined as a new state vector (Equation
Φ = 1 . . . 1 , Φ ∈ Rnu×na .
(15)), where θmax is the highest time delay among all inputs
and outputs. The definition of every B s and B d is somehow compli-
xs (k)
cated. Matrices Bls , for l = 0, . . . , θmax are calculated as
xd (k) follows:
∆u(k − 1)
• If l 6= θi,j , there is no delay θ in element l for i, j, then
x(k) = ∆u(k − 2) (15)
[Bls ]i,j =0;
..
• Otherwise, [Bls ]i,j = d0i,j .
.
∆u(k − θmax )
If there is no time delay, θmax = 0 and l = 0, Bld is
The new OPOM representation with time delay for all calculated as B0d = Dd F N , where:
VOLUME 4, 2016 11
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
d d
The next step is to determine Breal1 and Breal2 for main-
taining the system response. The required matrix Dd in order
Dd = diag(dd1,1,1 . . . dd1,1,na . . . dd1,nu,1 . . . dd1,nu,na . . .
to do that it is defined as follows:
ddny,nu,1 . . . ddny,nu,na ) ∈ Cnd×nd
real(B1d ) − imag(B1d ) −real(B1d ) − imag(B1d )
Dd =
−real(B1d ) − imag(B1d ) real(B1d ) − imag(B1d )
J
.. d
Finally, Breal1 d
and Breal2 are calculated as follows:
N = . ny, N ∈ Rnd×nu ,
J
d
Breal1 f g 1
d = D d
1 0 ... 0 Breal2 −g f 1
.. .. . . .
. . . ..
REFERENCES
1 0 . . . 0
[1] Delphi, “Delphi adaptative cruise control.” [On-
J =
.. , J ∈ Rnu na×nu .
line]. Available: http://www.delphi.com/docs/default-source/old-delphi-
.
files/1a5875e3-7d50-461b-ad1d-9464017913bf-pdf.pdf
0 0 . . . 1 [2] P. Shakouri, J. Czeczot, and A. Ordys, “Simulation validation of three
. . .
.. .. . . ... nonlinear model-based controllers in the adaptive cruise control system,”
Journal of Intelligent and Robotic Systems, vol. 80, no. 2, pp. 207–229,
0 0 ... 1 Nov 2015.
[3] K. C. Dey, L. Yan, X. Wang, Y. Wang, H. Shen, M. Chowdhury, L. Yu,
However if in Gi,j there is time delay l, nonzero elements C. Qiu, and V. Soundararaj, “A review of communication, driver character-
istics, and controls aspects of cooperative adaptive cruise control (cacc),”
of matrix Dd F N must be reallocated to their respective IEEE Transactions on Intelligent Transportation Systems, vol. 17, no. 2,
Bld in the same position they were in matrix Dd F N . After pp. 491–509, Feb 2016.
reallocating every element of Dd F N , all other elements of [4] C. M. Filho, M. H. Terra, and D. F. Wolf, “Safe optimization of highway
traffic with robust model predictive control-based cooperative adaptive
Bld are completed with zeros. cruise control,” IEEE Transactions on Intelligent Transportation Systems,
vol. 18, no. 11, pp. 3193–3203, Nov 2017.
[5] N. Benalie, W. Pananurak, S. Thanok, and M. Parnichkun, “Improvement
APPENDIX B TRANSFORMING THE OPOM WITH REAL of adaptive cruise control system based on speed characteristics and
STATES time headway,” in 2009 IEEE/RSJ International Conference on Intelligent
Robots and Systems, Oct 2009, pp. 2403–2408.
For example, an OPOM with θmax = 1 and with a pair of [6] W. Pananurak, S. Thanok, and M. Parnichkun, “Adaptive cruise control for
complex states xd1 and xd2 is represented as follows: an intelligent vehicle,” in 2008 IEEE International Conference on Robotics
and Biomimetics, Feb 2009, pp. 1794–1799.
[7] A. D. Ames, J. W. Grizzle, and P. Tabuada, “Control barrier function based
xs (k + 1) Bs xs (k)
Iny 0 0 quadratic programs with application to adaptive cruise control,” in 53rd
xd1 (k + 1) 0 f + gi IEEE Conference on Decision and Control, Dec 2014, pp. 6271–6278.
0 B1d d
xd1 (k)
x2 (k + 1) = 0 [8] B. Ganji, A. Z. Kouzani, S. Y. Khoo, and M. Shams-Zahraei, “Adaptive
d d
0 f − gi B2 x2 (k) cruise control of a hev using sliding mode control,” Expert Systems with
∆u(k) 0 0 0 0 ∆u(k − 1) Applications, vol. 41, no. 2, pp. 607 – 615, 2014.
[9] P. Shakouri, J. Czeczot, and A. Ordys, “Adaptive cruise control system us-
0 ing balance-based adaptive control technique,” in 2012 17th International
0 Conference on Methods Models in Automation Robotics (MMAR), Aug
+ 0 ∆u(k),
2012, pp. 510–515.
[10] J. Zhou and H. Peng, “Range policy of adaptive cruise control vehicles
Inu for improved flow stability and string stability,” IEEE Transactions on
Intelligent Transportation Systems, vol. 6, no. 2, pp. 229–237, June 2005.
xs (k)
[11] MarkVollrath, S. Schleicher, and C. Gelau, “The influence of cruise control
xd1 (k) and adaptive cruise control on driving behaviour - a driving simulator
y(k) = Iny 1 1 0
xd2 (k) study,” Accident Analysis & Prevention, vol. 43, no. 3, pp. 1134 – 1139,
2011.
∆u(k − 1) [12] S. Qin and T. A. Badgwell, “A survey of industrial model predictive control
technology,” Control Engineering Practice, vol. 11, no. 7, pp. 733 – 764,
The elements xd1 (k), xd2 (k), f + gi, f − gi, B1d and B2d are 2003.
[13] E. Camacho and C. Alba, Model Predictive Control. Springer, 2007.
complex and xs (k), B s , ∆u(k−1) and y(k) are real. The pair [14] J. Maciejowski, Predictive Control: With Constraints. Prentice Hall,
of complex poles, f + gi and f − gi, are already in discrete 2002.
∗
time and B1d = B d2 . [15] G. Naus, J. Ploeg, M. V. de Molengraft, W. Heemels, and M. Steinbuch,
“Design and implementation of parameterized adaptive cruise control: An
It can be shown that the free response of this OPOM is the explicit model predictive control approach,” Control Engineering Practice,
same free response of the following pair (A,C): vol. 18, no. 8, pp. 882 – 892, 2010.
[16] A. Oliveri, G. J. L. Naus, M. Storace, and W. P. M. H. Heemels, “Low-
complexity approximations of pwa functions: A case study on adaptive
Bs
Iny 0 0 cruise control,” in 2011 20th European Conference on Circuit Theory and
0 d Design (ECCTD), Aug 2011, pp. 669–672.
f g Breal1
, C = Iny
[17] D. Corona and B. D. Schutter, “Adaptive cruise control for a smart car: A
A= d 1 0 0
0 −g f Breal2 comparison benchmark for mpc-pwa control methods,” IEEE Transactions
0 0 0 0 on Control Systems Technology, vol. 16, no. 2, pp. 365–372, March 2008.
12 VOLUME 4, 2016
Author et al.: Preparation of Papers for IEEE TRANSACTIONS and JOURNALS
VOLUME 4, 2016 13