Design of The Adaptive Cruise Control Systems An Optimal Control Approach
Design of The Adaptive Cruise Control Systems An Optimal Control Approach
by
Sanggyum Kim
in
Mechanical Engineering
in the
Graduate Division
of the
Committee in charge:
Spring 2012
Design of the Adaptive Cruise Control Systems: An Optimal Control Approach
Copyright 2012
by
Sanggyum Kim
1
Abstract
Modern automobiles are equipped with various driver assistance functions which enhance
safety and relieve driver fatigue. With the recent development of sensor technology, the
Adaptive Cruise Control (ACC) system has been put into practice. This thesis investigates
several aspects for the ACC system including (1) smooth reaction of the host vehicle to the
cutting in and out of lead vehicles, (2) real-time optimal profile generation for stop-and-go
motions, (3) optimal feedback controller design, and (4) extension to Cooperative Adaptive
Cruise Control (CACC) systems.
The ACC system should maintain an appropriate relative distance to the lead vehicle and
should also maintain the desired speed set by the driver if there is no lead vehicle or if the
speed of the lead vehicle is faster than the desired speed. Also, it should react smoothly when
the lead vehicle cuts out or if a new lead vehicle cuts in from a side lane. This thesis introduces
the virtual lead vehicle scheme to prevent the switching between the distance control and the
speed control. By controlling the motion of the virtual lead vehicle to be smooth, the scheme
could provide smooth reaction of the host vehicle to the cutting in and out of lead vehicles.
Linear Quadratic (LQ) optimal control scheme is utilized to find the control gains for the
virtual lead vehicle and the host vehicle. Variable weights are utilized in LQ for the virtual
lead vehicle. With the variable weights, the motion of the virtual lead vehicle is controlled
to be smooth when there is no safety threat while ensuring that the virtual lead vehicel is
still responsive and fast when a dangerous situation occurs. ACC with Stop-and-Go and
the Cooperative Adaptive Cruise Control (CACC) system are extensions of the conventional
ACC system. Stop-and-Go system is targeted to be used in urban driving situation where
the lead vehicle can stop completely. In that case, the Stop-and-Go system should have a
capability to stop the host vehicle completely. The constant time-headway policy used to
find the appropriate relative distance causes undesirable motion for a complete stop. In this
thesis a sliding controller is utilized to control the complete stopping motion. To find the
optimal stopping trajectory, a constrained Quadratic Programming (QP) problem is solved.
A constrained QP is also used to find the optimal velocity profile when the stopped vehicle
is to resume motion. Multi-resolution formulations and the Lemke algorithm are utilized to
2
find the optimal trajectories in real time. The CACC system utilizes wireless communication
so that the vehicles in the network can share information with other vehicles. In this thesis,
a centralized controller is designed by LQ optimal control scheme and potential benefits
and problems are addressed. A Kalman filter with variable measurement noise covariance
is introduced to compensate the lost data through the wireless network associated with the
CACC system. The proposed control schemes have been verified through simulations.
i
To my family
ii
Contents
Contents ii
List of Figures v
List of Tables ix
1 Introduction 1
1.1 Adaptive Cruise Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Performance Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Control System Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Bibliography 117
v
List of Figures
3.10 Simulation results when a lead vehicle cuts out position and velocity of the host
vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.11 Simulation results when a lead vehicle cuts in position and velocity of the virtual
lead vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.12 Simulation results when a lead vehicle cuts in variable weights . . . . . . . . . . 43
3.13 Simulation results when a lead vehicle cuts out position and velocity of the host
vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.14 Phase plane plot of the closed loop system . . . . . . . . . . . . . . . . . . . . . 44
3.15 Phase plane plot of the closed loop system at each quadrant comparing the worst
case gains and the original gains . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.16 Phase plane plot of the closed loop system with the worst case gains . . . . . . . 46
3.17 Block diagram of the speed and the position errors between the virtual and the
actual lead vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.18 Block diagram of the DOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.19 Simulation results with and without the DOB when the lead vehicle accelerates:
velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.20 Simulation results with and without the DOB when the lead vehicle accelerates:
position error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.21 Simulation results with and without the DOB when the lead vehicle decelerates:
velocity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.22 Simulation results with and without the DOB when the lead vehicle decelerates:
position error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.23 Block diagram of the DOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.24 Simulation with the measurement noise . . . . . . . . . . . . . . . . . . . . . . . 51
3.25 Simulation results with measurement noise using the velocity measurement: velocity 52
3.26 Simulation results with measurement noise using the velocity measurement: po-
sition error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.27 Simulation results with measurement noise using the velocity measurement: ac-
celeration of the virtual lead vehicle . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.28 Simulation results with a Q-filter: velocity . . . . . . . . . . . . . . . . . . . . . 54
3.29 Simulation results with a Q-filter: acceleration of the virtual lead vehicle . . . . 54
3.30 Simulation results showing the vehicle behavior with and without the feedforward
control when the lead vehicle decelerates: the lead and virtual vehicle‘s velocity 55
3.31 Simulation results showing the vehicle behavior with and without the feedforward
control when the lead vehicle decelerates: the host vehicle‘s position . . . . . . . 56
3.32 Simulation results showing the vehicle behavior with and without the feedforward
control when the lead vehicle accelerates: the lead and virtual vehicle‘s velocity 56
3.33 Simulation results showing the vehicle behavior with and without the feedforward
control when the lead vehicle accelerates: the host vehicle‘s position . . . . . . . 57
4.1 Velocity of the lead and the host vehicle in case of a complete stop . . . . . . . 62
4.2 Sketch of the complete stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
vii
5.1 Simulation results with LQ controllers: velocity (solid lines: with CACC, dashed
lines: with ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2 Simulation results with LQ controllers: error (solid lines: with CACC, dashed
lines: with ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.3 Simulation results with LQ controllers: product of the error and the lead vehicle
acceleration (solid lines: with CACC, dashed lines: with ACC) . . . . . . . . . . 92
5.4 Simulation results when a vehicle cuts out from the platoon . . . . . . . . . . . 93
5.5 Sketch of the cutting out scenario . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.6 Simulation results when a vehicle cuts out from the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle . . . . . . . . . . . . . . . . . . . . . . 97
5.7 Simulation results when two vehicles cut out from the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle . . . . . . . . . . . . . . . . . . . . . . 97
5.8 Simulation results when two vehicles cut out from the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle . . . . . . . . . . . . . . . . . . . . . . 98
5.9 Sketch of the cutting in scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
viii
5.10 Simulation results without the virtual lead vehicle when a vehicle cuts into the
platoon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.11 Simulation results when a vehicle cuts into the platoon (Solid line: Actual vehicle,
Dashed line: Virtual lead vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.12 Simulation results when a vehicle cuts into the platoon (Solid line: Actual vehicle,
Dashed line: Virtual lead vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.13 Simulation results over lossy network: error for vehicle #1 . . . . . . . . . . . . 102
5.14 Simulation results over lossy network: error for vehicle #2 . . . . . . . . . . . . 103
5.15 Simulation results over lossy network: error for vehicle #3 . . . . . . . . . . . . 103
5.16 Simulation results over lossy network: error for vehicle #4 . . . . . . . . . . . . 104
5.17 Simulation results over lossy network: error for vehicle #5 . . . . . . . . . . . . 104
5.18 Simulation results over lossy network with ¯ = 0.50: error for vehicle #3 . . . . 105
5.19 Simulation results with Kalman Filter over lossy network: error for vehicle #1 . 109
5.20 Simulation results with Kalman Filter over lossy network: error for vehicle #2 . 109
5.21 Simulation results with Kalman Filter over lossy network: error for vehicle #3 . 110
5.22 Simulation results with Kalman Filter over lossy network: error for vehicle #4 . 110
5.23 Simulation results with Kalman Filter over lossy network: error for vehicle #5 . 111
5.24 Simulation results with Kalman Filter over lossy network with ¯ = 0.50: error
for vehicle #3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ix
List of Tables
4.1 Calculation time [sec] of the Lemke algorithm / Interior point algorithm (Initial
Condition : d0 [m],v0 [m/s],a0 [m/s2 ]) . . . . . . . . . . . . . . . . . . . . . . . . . 79
x
Acknowledgments
Writing the acknowledgements is the very last and one of the most difficult part for writing
my dissertation. This dissertation may have not been done without the support and encour-
agement of many people. I would never be able to list all the people, however I want to
express my warmest thanks to everyone.
I would like to thank my advisor, Professor Masayoshi Tomizuka, for providing me ex-
cellent research opportunities. Without his insightful advice, persistent inspiration, and
considerate support, this dissertation would not exist. His inexhaustible academic passion
and energy always impress and motivate myself. I would also want to express my thanks to
Professor Miwako Tomizuka for her warm care to the entire lab and our families.
I want to acknowledge the superb instruction and support I have received from all of
my professors in Berkeley. Special thanks to Professor Karl Hedrick, Professor John Strain,
Professor Roberto Horowitz, and Professor Avideh Zakhor for their kind support as my
dissertation and/or qualifying exam committee. Their kind advices and valuable comments
really helped me improve the quality of my work.
To all my colleagues and friends in Mechanical Systems Control Laboratory, I appreciate
all of your support, discussion, conversation, advice, and friendship over the past years:
Wenjie, Pedro, Joonbum, Kyoungchul, Xu, Chi-shen, Raechel, Oak, Sandipan, Soo, Chun-
Chih, Emma, Hoday, Ben, Ahmed, Wenlong, Cong, Haifei, Nancy, Kiyo, Nora, Omar, Chen-
yu, Chung-yen, Junkai, Minghui, Hiroshi, and all others. Special thanks to Mike for his hard
work as my English editor. Thank you Evan, Kay, and Kenta for your kind love to my family
and being my neighbor. I also want to thank Dr. Shiang-Lung Ku, Dr. Takashi Nagata, Mr.
Yasuyuki Matzuda, and Mr. Sumio Sugita for their support and advice on my research.
I would like to thank the Industrial Technology Research Institute in Taiwan for their
kind financial support on my research project. Special thanks to Dr. Kuo-Hsiang Cheng for
his advice and discussions about the project for past years. Big thanks to my Korean friends
for sharing precious moments at Berkeley.
I really want to express my deepest love and respect to my brother Soonkyum. You
are the best friend, mentor, and brother in my life. I would like to especially thank to my
parents Youngki Kim and Kwangsook Baik for their endless love, support, and advice during
my entire life. Also, I appreciate the kind support of my parents-in-law Yoonhyun Park and
Samsoon Hong.
Finally, I want to say to my wife, Bo Ae Park that I love you and you are the best gift
in my life. Without out your love and dedication, I could not do it. Also, I want to express
my love to my children Jae Hee (Amy) and Jae Yoon (Kevin). You are the meaning of my
life. Lastly, to my family, I love you all.
1
Chapter 1
Introduction
distance, which usually depends on the states of the host vehicle and the environment.
The ACC system has extensions like stop-and-go and Cooperative Adaptive Cruise Con-
trol (CACC). Stop-and-go system is targeted to be used in urban driving conditions where
the ACC cannot be easily utilized. The stop-and-go should have the capability to stop the
host vehicle completely when there is a stopped lead vehicle [38]. Also in urban driving, the
environments are more complex and the requirements for the sensor information are more
strict [56]. Since it is expected to be utilizable at low speed in urban driving situations, the
stop-and-go should be able to properly react to frequent cutting in and out of lead vehicles.
Cooperative Adaptive Cruise Control(CACC) is another enhanced version of the ACC.
CACC utilizes communication between the vehicles and/or between the vehicle and the
road structure. This communication allows the control system on a single vehicle to get
information about other vehicles in the platoon such as the acceleration, the velocity, the
throttle control command, and the brake control command. Various research have been
done about the CACC in the area of traffic control and communication which show that the
CACC has the potential to improve the traffic flow [3] and the string stability [33]. For a
vehicle platoon, the string stability signifies whether spacing errors are increased upstream.
A sudden deceleration or acceleration of the first vehicle of a platoon introduces errors for
following vehicles. If the platoon is string unstable, the magnitudes of the errors are increased
for later vehicles.
should be smooth and safe when the control scheme is switched from one to the other. The
transient motion is important for urban driving where there are frequent transitions. For
example, when a lead vehicle cuts out, the relative distance to the new lead vehicle may be
very large so that the speed control is activated without an appropriate transient controller.
In that case, the host vehicle accelerates unnecessarily, which makes the driver uncomfortable
and is not fuel efficient.
Passenger Comfort
Accelerations and decelerations are also important parameters in ACC systems, because
they are closely related to the comfort of passengers. Accelerations and decelerations are
unavoidable during the operation of the ACC system and excessive accelerations or deceler-
ations make passengers feel uncomfortable and uneasy [51]. Therefore, an ACC system must
perform so that acceleration and deceleration remain within a certain range. In addition to
acceleration and deceleration, jerk, the time derivative of the acceleration, can be used as
a parameter to measure the variation of acceleration and deceleration and should be main-
tained as small as possible to ensure the comfort of passengers. Also, the acceleration or
deceleration of the host vehicle should not be the opposite from the drivers’ expectation. For
example, if the vehicle accelerates when the driver expect it to decelerate the driver would
feel very uncomfortable with the ACC system.
Safety
While the comfort of passengers is important, it should not disrupt safety. In the case of
an emergency stop, safety is the highest priority. So, the optimal profile of acceleration and
deceleration should be determined according to the situation. For example, in the case of an
emergency stop, the host vehicle should decelerate quickly to minimize the stopping distance
whereas in non-emergency stopping situations, the host vehicle should decelerate slowly so
that passengers do not feel discomfort.
Observer&
Angular%Velocity,%AcceleraAon%
EsAmate%
unmeasurable%
parameters% Environment&
EsAmated% Road%Slope%
%Parameters% Surface%CondiAon%
Aerodynamic%Resistance%
Upper&Level& Lower&Level&
Driver& Host&Vehicle&
Controller& Controllers&
On/Off% Distance%Control% Engine% Vehicle%Dynamics%
Desired%Velocity% Speed%Control% Brake% Tire%Dynamics%
Time%Headway% Stop%&%Go% Transmission%
Angular%Velocity,%AcceleraAon%
Control%Command%
Force% Lead&
Sensors&
InformaAon% RelaAve%Velocity% Vehicle&
%RelaAve%Distance%
The control system is composed of an observer, an upper level controller, and lower level
controllers. The observer directly utilizes measured feedback signals, such as angular veloci-
ties of each wheel and acceleration, to estimate unmeasurable parameters such as the vehicle
mass, the aerodynamic coefficient, and the road slope. Information about the lead vehicle
are also measured by sensors such as the radar and vision sensors. With measured feedback
signals, all this information are utilized in the upper controller. The upper level controller
analyses the information and decides the desired states of the host vehicle and produces the
desired acceleration of the host vehicle accordingly. The desired acceleration commands from
the upper level controller manage the lower level controllers such as the engine control unit,
the transmission controller and the brake controller. However, the vehicle may not behave
as predicted by the controller because there are uncertain environmental parameters such as
the road slope, the rolling resistance, and the aerodynamic resistance as well as uncertainties
in the vehicle dynamics. To overcome such uncertainties the performance of the vehicle is
measured and provided to the control system as feedback signals.
CHAPTER 1. INTRODUCTION 5
Chapter 2
2.1 Introduction
As described in Section 1.3, the ACC system consists of two control layers. The upper
level controller determines the desired acceleration of the host vehicle while the lower level
controllers determine the control commands to the engine and the brake based on the desired
acceleration and current states of the engine and the brake. The main purpose of this thesis
is to design the upper level controller. However, a reliable vehicle model and lower level
controllers are necessary to evaluate and verify the performance of the upper level controller
by simulations. In this chapter, a longitudinal vehicle model, an engine model, and a brake
model are introduced and studied. These models are implemented in MATLAB/Simulink
for simulations.
The longitudinal dynamic model of a vehicle body is based on the force equilibrium of
the external forces which include the tire forces, the rolling resistances, the aerodynamic
drag force, and the gravity force due to the road slope [42]. Among the external forces, the
tire force can be controller by the lower level controllers through the powertrain and the
brake. Due to the compliance of the tire, the tire force and the input torque to the driving
shaft have a dynamic relationship and it can be described by a tire model. In general, the
tire force depends on the slip ratio and many tire models relating the slip ratio and the tire
force have been studied. Very well known examples are the linear tire model and the magic
formula tire model. Both models give the relationships between the longitudinal tire force
and the slip ratio based on the empirical data, and describe the steady state behavior of the
tire [60, 39]. However, for the Stop-and-Go feature which may introduce complete stops, a
smooth motion control is important for the comfort of the driver and passengers. To predict
the oscillation during a complete stop, a dynamic deflection tire model [22] is used in the
simulation for this thesis. The engine and the brake models should be able to reproduce the
behaviors of the actual engine and the brake, however do not need to be very complicated.
In this thesis, an engine model and a lower level controller in [30, 31] are used. A brake
model studied in [13] are used for simulations in this thesis.
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 8
Other external forces except the tire force are from environment. Considering the vehicle
body as a double integrator whose input is the acceleration and the outputs are the longi-
tudinal velocity and the longitudinal position, these external forces are disturbances which
should be e↵ectively compensated. Various research have been done to estimated the vehi-
cle parameters and the environmental disturbances including the vehicle mass, the tire-road
friction, and the road slope. Some research have been performed to estimate the vehicle mass
and the road slope via the Extended Kalman filtering [27], the Extended Kalman filtering
with Model Predictive Controller [59], and the Recursive Least Square method [57]. In the
previous research, the vehicle mass and the road slope are simultaneously estimated. It is
assumed, however, that the external disturbances such as the aerodynamic resistance and
the rolling resistance are known. Also, the torque generated by the engine or the brake is
assumed to be known or able to be estimated from a model. In this thesis it is assumed
that the Multi-Sensing-Hub (MSH) [52] is used to directly measure the tire force. With
the force measurement, a recursive least square method with a vector-type forgetting factor
with a constant trace is used to estimate not only the vehicle mass and the road slope but
also the aerodynamic coefficient. The estimated vehicle mass is utilized to calculate the
desired torque from the desired acceleration. The gravity force due to the road slope and
the aerodynamics resistance are compensated via a model based disturbance compensator.
Assuming perfect disturbance compensation and lower level controllers, the longitudinal
vehicle dynamics can be modeled as a double integrator whose input is the acceleration.
The desired acceleration is determined by an upper level feedback controller. To design
a feedback controller, stability is one of the most important thing to consider. In case
of ACC, there is a chance that the vehicles equipped with the same ACC system make a
platoon and string stability should also be considered. To prevent the string instability, a
constant time-headway method is used to calculate the desired relative distance to the lead
vehicle [42]. PID (Proportional-Integral-Di↵erential) controller is one of the most popular of
feedback controllers and various methods have been studied to tune the feedback gains [50,
17, 16]. In this chapter, the Linear Quadratic (LQ) optimal control theory is used to find
an optimal state feedback control gains when the host vehicle follows a lead vehicle with a
constant time-headway. The state feedback controller is equivalent to a PD (Proportional-
Di↵erential) controller for second order systems and the PID gains can be found by the
Linear Quadratic Controller with Integrator(LQI).
This chapter is organized as follows. A vehicle model including the longitudinal vehicle
body dynamics, an engine model, a tire model, and a brake model is introduced in Section
2.2. In Section 2.3, a recursive least square method is introduced to estimate the vehicle
parameters and external disturbances. A model based disturbance compensator is used to
compensate the external disturbances. In Section 2.4, an LQ optimal controller is studied
to find feedback control gains. Section 2.5 summarizes the chapter.
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 9
!
Figure 2.1: Free body diagram of the longitudinal vehicle model
where m is the mass of the vehicle, x is the longitudinal position of the vehicle, Fxf and Fxr
are the tire forces at front and rear tires, Faero is the aerodynamic resistance, Rxf and Rxr
are the rolling resistances at front and rear tires, and ✓ is the slope angle of the road.
Tire Force
Tire forces, Fxf and Fxr , are controlled by the engine and the brake torque, however are
generated via road-tire interaction. For this reason, the tire model is extremely important
in vehicle control. There are many tire models including many empirical models [39]. While
they have been successfully integrated with vehicle dynamics in many applications, they
are static models and are not suited for transient phenomena in particular at low speeds.
The Relaxation Length Tire (RLT) model was introduced to address this problem [29]. The
Dynamic Deflection Tire (DDT) model has been developed by S.L. Koo, et al for better
prediction and description of the tire characteristics, especially at low speeds [22]. In case of
Stop-and-Go, the longitudinal oscillation during deceleration and stopping with the brake,
which is related to the comfort for passengers, should be considered. Figure 2.2 which is
adopted from [22] shows that the longitudinal oscillation can be predicted by using the DDT
model.
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 10
!
Figure 2.2: Stopping a vehicle with a constant brake torque: Experimental results vs simu-
lation results based on vehicle model with DDT tire model (a) longitudinal acceleration; (b)
pitch rate [22]
The front and rear tire forces can be derived from the DDT model. The governing
equation is given by:
Flong = Dlong ˙ x + Clong x (2.2)
where Dlong and Clong are the damping and the spring constant of the tire, respectively. x
represents the longitudinal tire deflection, which is defined by:
x = xcp xw (2.3)
where xcp is the longitudinal displacement of the contact patch and xw is the longitudinal
displacement of the wheel. xw is assumed to be the same with the displacement of the
vehicle.
The kinematic equation of xcp can be expressed as:
ẋcp = R0 (1 + )! (2.4)
where R0 is the e↵ective radius of the tire and ! is the tire angular velocity. The longitudinal
slip is defined by:
x
= (2.5)
long
where long is the tire relaxation length.
Aerodynamic Resistance
The aerodynamic resistance on a vehicle can be represented by:
1
Faero = ⇢Cd Af |vx + vwind |(vx + vwind ) (2.7)
2
where ⇢ is the mass density of air, Cd is the aerodynamic draw coefficient, Af is the front
projected area of the vehicle, vx is the longitudinal velocity of the vehicle, and vwind is the
wind velocity.
Rolling Resistance
The rolling resistance of each tire is proportional to the normal force of the each tire: i.e.
Rx = f F z (2.8)
where f is the rolling resistance coefficient, and Fz is the normal force. The normal forces
for front and rear tire are respectively:
Faero haero mẍh mgh sin ✓ + mglr cos ✓
Fzf = (2.9)
lf + lr
Faero haero + mẍh + mgh sin ✓ + mglf cos ✓
Fzr = (2.10)
lf + lr
where haero is the height where the aerodynamic resistance is applied, h is the height of the
center of gravity of the vehicle, and lf and lr are the lengths from the center of gravity of
the vehicle to the front or the rear tire axle, respectively.
R0ω
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 12
Block#Diagram4#Detail#Engine#
τ engine τt τ wheel
ThroSle#
τ desire Engine# angle# Torque#
Torque# Engine# Transmission#
Converter#
Controller#
ωe ωt ω wheel
velocity of the engine determine the output torque of the engine block [30, 31]. Then, the
engine torque goes through the torque converter and transmission to the wheels.
The torque generation process of a combustion engine consists of four di↵erent strokes:
intake, compression, combustion, and exhaust strokes. The dynamics of each stroke are
di↵erent from the others. Each stroke is changed to the next stroke after the engine rotates
180 degrees. Since, the engine rotation speed is not constant, the interval between the strokes
is not fixed and the dynamics of the engine is hard to describe in a time domain. So the
discrete event model describes the operation of the engine as events occur.
Transmission
Since the torque production of a vehicle engine is limited in magnitude, the engine rotates
very fast and the transmission gears reduces the speed while amplifying the torque. The
transmission is regarded as a gear box which has 3 to 6 di↵erent gears inside it. At steady
states, the transmission works like a gear with a fixed ratio. During transients, according to
the engine speed and the throttle angle, gear is shifted to maintain the engine RPM in an
adequate range. Typical gear ratios of an automatic transmission are given in Table 2.1.
At steady states, the torque transmitted to the wheel is:
1
⌧wheel = ⌧t (2.11)
R
where R is the gear ratio including the final gear. i.e. at 1st gear, R = 2.8 ⇥ 4
The speed of transmission is:
1
!t = !wheel (2.12)
R
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 13
As shown in (2.11) and (2.12), at a lower gear, engine RPM is higher than a higher gear.
However, the transmitted torque at the wheel may be larger at a lower gear.
The dynamics during a gear change is studied in [9], which is complex. An alternative
way to express the gear change dynamics [42], which is simpler but adequate for the present
study is:
1
T ⌧˙wheel + ⌧wheel = ⌧t (2.13)
R
1
T !˙ t + !t = !wheel (2.14)
R
where T is a time constant. The initial value of ⌧wheel is zero when the gear change is
initiated. For !t , the initial value is R1old !wheel where Rold is the previous gear ratio.
0
desired
actual
-50
torque[N m]
-100
-150
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Brake System
Figure 2.4 which is adopted from [13] depicts the structure of an automotive brake system.
When the driver wants to decelerate, the driver presses the brake pedal. The force from
the driver is amplified by the vacuum booster. The amplified force increases the pressure
of the master cylinder which is connected to the brakes of four wheels. Between the master
cylinder and the wheel brakes there are Anti-lock Brake System / Traction Control System
actuators. In this thesis, the piston masses are ignored and single state hydraulic system
model is used.
Brake Controller
In [13], an additional hydraulic actuator was introduced and a sliding controller was designed
to control the pressure of the brake pad cylinder and the brake torque. In this thesis, it is
assumed that no additional actuator is available. Instead, a Disturbance Observer (DOB)
based feedback controller is utilized. Also, to prevent the e↵ect of the vacuum booster
hysteresis, a fuzzy switching logic is used. The lower level controller shows a reasonably
good performance as shown in Figure 2.5. The brake model is implemented in MATLAB
with the parameters adopted from [13].
The simulation results show that the performance of the DOB is acceptable. Also it is
not necessary to modify the brake hydraulic system. However, an additional actuator in the
brake pedal is required. One main drawback of the DOB is that, due to the nonlinearity of
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 15
the brake system, the Q-filter should be designed very conservatively and the performance
is worsened with more conservative choices of the cuto↵ frequency. The Q-filter should be
tuned later with experimental data. Also, the critical force to compensate the spring forces
inside the vacuum booster is necessary for the fuzzy switching logic and should be also tuned
by experiments.
where m is the mass of the vehicle, Ftire is the force from the tire to the vehicle body
including the rolling resistance, g is the gravity acceleration, ✓ is the road slope, Caero is
the aerodynamic coefficient, and x is the longitudinal position of the vehicle. Among the
variables, Ftire can be measured by a Multi Sensing Hub (MSH) [52], ẋ can be obtained from
the rear (undriven) wheel angular velocity which can be measured by an encoder, and ẍ can
be measured by an accelerometer or estimated from ẋ. With these measurements and/or
estimates, we would like to estimate or identify parameters M , Caero , and ✓.
(2.15) is a model suited for parameter identification, in particular when Ftire can be
directly measured by MSH. If it is not possible to use the MSH and measure the tire force
directly, we will need to measure or know the engine torque and the brake torque as well as
other quantities such as the vehicle speed.
⇥ ⇤T ⇥ ⇤T
where ✓ = a1 a2 a3 , '(k) = x1 (k) x2 (k) x3 (k) , and k denotes time. From
(2.15), the variables are defined as:
where R0 is the e↵ective radius of the tire and ! is the angular velocity of the tire. At time
ˆ
k, we would like to find the best estimate of ✓, ✓(k), that minimizes the cost function
k h
X i2
J= y(i) ✓ˆT (k)'(k 1) (2.20)
i=1
ˆ
Solving this equation for ✓(k), we obtain
k
X
ˆ = F (k)
✓(k) '(i 1)y(i) (2.22)
i=1
(2.22) is the batch formula for the least square estimate. For real time applications, the
recursive formula given in the following form is better suited.
ˆ + 1) = ✓(k)
✓(k ˆ + [correction term] (2.24)
Thus we obtain
ˆ + 1) = ✓(k)
✓(k ˆ + F (k + 1)'(k)[y(k + 1) ✓ˆT (k)'(k)] (2.31)
(2.31) and (2.32) give the recursive least square formula. With the least square method, we
can still get the same result. However, as the number of data is increased, the size of the
data matrix is getting larger and the calculation time will be significantly increased. In that
case, the real time application is almost impossible. With the recursive least square method
[24], the very new data are used to update the estimates and the calculation time remains
the same for each iteration.
For time varying parameters, we can introduce a forgetting factor, , in the cost function
to reduce the e↵ect of older data on the current estimate of the parameter vector:
k
X h i2
J= k i
y(i) ✓ˆT (k)'(k 1) (2.33)
i=1
The forgetting factor prevents the gain matrix from decreasing to zero. The gain matrix,
however, may blow up if '(k) is not persistently exciting. A constant trace method maintains
the trace of the gain matrix at a constant to prevent it from either blowing up or decreasing
to zero. The update law is given by:
1 F (k)'(k)'T (k)F (k)
F (k + 1) = F (k) T
(2.40)
1 (k) 1 (k)/ 2 (k) + ' (k)F (k)'(k)
where ↵ = 1 / 2 is a constant value. (2.40) and (2.41) guarantee that the trace of the gain
matrix is maintained constant and does not blow up nor decrease to zero.
are time invariant, this problem may be prevented. A vector-type forgetting factor can make
this happen [65].
The vector-type forgetting factor method applies di↵erent forgetting factors for di↵erent
parameters. For frequently varying parameters, smaller forgetting factors will be applied to
update the parameters more sensitively. In the vector-type forgetting factor method, the
gain matrix is updated by:
F (k)'(k)'T (k)F (k)
F (k + 1) = ⇤(k) F (k) ⇤(k) (2.42)
1 + 'T (k)F (k)'(k)
where "o (k) is an a-priori estimation error, and gi ’s are constants for each parameters. Larger
gi ’s are used for frequently varying parameters to make the forgetting factor smaller.
However, the vector-type forgetting factor method is too sensitive to the values of gi ’s.
Also, the estimation errors are too large if a sufficient amount of excitation is not given. To
resolve these problems, the constant trace method can be introduced again. While using
a vector-type forgetting factor, the trace of the gain matrix is maintained constant. With
this constant trace method with a vector-type forgetting factor, the estimator works better.
Figures 2.6 and 2.7 show the simulation results with di↵erent values of gi ’s, and the results
are almost the same. Also in Figures 2.8 and 2.9, it is seen that even without enough
excitations, the estimator works well.
1500
Mest [kg]
1400
1300
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
1
Caero est
-1
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
5
thetaest [degree]
-5
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
1500
Mest [kg]
1400
1300
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
1
Caero est
-1
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
5
thetaest [degree]
-5
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
3000
1000
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
1
Caero est
0.5
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
5
thetaest [degree]
-5
-10
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
Figure 2.8: Simulation result where there is not enough excitations: with a vector-type
forgetting factor without the constant trace method
3000
Mest [kg]
2000
1000
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
1
Caero est
0.5
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
10
thetaest [degree]
-5
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
k
Figure 2.9: Simulation result where there is not enough excitations: with a vector-type
forgetting factor and a constant trace method
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 22
20
velocity[m/s]
lead
10
with DC
w/o DC
0
0 10 20 30 40 50 60 70
time[sec]
road slope[deg]
0
0 10 20 30 40 50 60 70
time[sec]
0.2 with DC
w/o DC
error[m]
−0.2
0 10 20 30 40 50 60 70
time[sec]
Figure 2.10: Simulation results with and without the disturbance compensator
where Faero is the aerodynamic resistance, Fgrav is the gravitational resistance, and Froll is the
rolling resistance. 12 ⇢Cd Af is the aerodynamic coefficient, m is the vehicle mass, and ✓ is the
road slope which are estimated by the recursive least square method. vx is the longitudinal
velocity of the vehicle and vwind is the longitudinal wind velocity which is unknown and is
ignored. f is the rolling resistance coefficient and assumed to be known.
The output from the disturbance compensator is the desired additional acceleration and
is given by:
1
adc = (F̂aero + F̂grav + F̂roll ) (2.48)
m̂
This additional acceleration command to compensate for disturbances is added to the feed-
back command:
adesired = af eedback + adc (2.49)
where dof f set is the safety distance. Both the time-headway and the safety distance for a
complete stop may vary according to the road condition and the preference of the driver.
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 24
Problem Description
In this section, a single host vehicle following a lead vehicle is considered. Each vehicle
will be modeled as a double integrator whose input is the acceleration. The desired relative
distance is given by (2.51). However, the safety distance will be ignored to make the problem
linear. The safety distance can be added later after the state feedback gains are calculated.
For the LQ problem, the output of the system is selected as the error. The state space
equations of the system are:
where Q = C T C.
However with the C given in (2.55), (A, C) is not observable. To make it observable with
a minimum modification of the performance index, a new C is given as:
1 0 thw
C= (2.57)
0 ✏o 0
The number ✏o is a very small number that can be further reduced depending on the available
computational resolution.
The input penalty matrix R should be positive definite. Also, it is assumed that we cannot
control the lead vehicle acceleration al . However if we ignore the lead vehicle acceleration, the
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 25
solution of the stationary LQ problem is not guaranteed since in that case (A, B) becomes
not controllable or stabilizable. Instead of ignoring the lead vehicle acceleration, we can
penalize it a lot so that the magnitude of it is limited to be very small (the actual lead
vehicle acceleration will depend on the driver and this can be considered as a disturbance).
To do that, R can be selected as:
1/✏c 0
R= (2.58)
0 1
where is a design parameter to tune. The number ✏c is a very small number that can be
further reduced depending on the available computational resolution. The state feedback
control law is given as:
U (t) = R 1 B T P+ X(t) = KX(t) (2.59)
where P+ is the positive definite solution of the algebraic Riccati equation
AT P + P A P BR 1 B T P + C T C = 0 (2.60)
As desired, the gains for the lead vehicle acceleration are very small. The feedback control
law can be written as:
a(t) = (thw v(t) (xl (t) x(t))) 0.4495( (vl (t) v(t))) (2.62)
where err(t) = thw v(t) (xl (t) x(t)). As shown in (2.63), the state feedback law is the
same as the PD controller.
where Qy and R are symmetric and positive definite weight matrices, r is a constant set
point vector, and W is the derivative of U .
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 26
The new state vector is defined as X̃(t) = [ E T (t) Ẋ T (t) ]T where E(t) = Y (t) r.
Then the state equation is:
d 0 C 0
X̃ = X̃(t) + W (t) = ÃX̃(t) + B̃W (t) (2.65)
dt 0 A B
2.5 Summary
In this chapter, a longitudinal vehicle model was introduced. External disturbances such as
the aerodynamic drag, the rolling resistance, and the gravity force due to the road slope were
considered. To better predict the behavior of the vehicle while preventing too complicated
structure, the discrete event engine model [30, 31], the single state hydraulic brake model
[13], and the dynamic deflection tire model [22] were included in the vehicle model.
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 27
16
lead
14 PID
velocity[m/s] PD
12
10
8
0 10 20 30 40 50 60 70
time[sec]
1
PID
0.5 PD
error[m]
−0.5
−1
0 10 20 30 40 50 60 70
time[sec]
12
10
velocity[m/s]
8 lead
#1
6
#2
#3
4
0 20 40 60 80 #4 100
time[sec] #5
−3
x 10
5
error[m]
−5
0 20 40 60 80 100
time[sec]
Figure 2.12: Simulation results of a vehicle platoon with the PID controller
CHAPTER 2. VEHICLE MODEL AND BASELINE CONTROLLER 28
A recursive least square method was used to estimate the vehicle mass, the road slope,
and the aerodynamic resistance. A vector-type forgetting factor was utilized to estimate the
parameter where some of the parameters were changing frequently while others were changing
very slowly. The constant trace method was also used to achieve more stable performance
with the forgetting factor especially when there was not enough excitation. A model based
disturbance compensator was designed to compensate the external disturbances.
Linear Quadratic (LQ) optimal control was studied to find the optimal feedback gains
for a single vehicle following case. The vehicle was modeled as a double integrator and the
state space realization matrices were slightly modified to make the system controllable and
observable. The designed LQ controller was nothing but a PD controller. Linear Quadratic
control with Integrator (LQI) was introduced to add the integral action. The LQI controller
showed better tracking performance than the LQ controller when the lead vehicle accelerated
or decelerated. The constant time-headway policy was used to calculate the desired distance
and the simulation result of a vehicle platoon showed string stable performances.
29
Chapter 3
3.1 Introduction
The ACC system should be able to perform two di↵erent tasks according to the surrounding
situation. If there is a lead vehicle detected, the ACC system should follow the lead vehicle
maintaining an appropriate relative distance. When no lead vehicles are detected in front of
the host vehicle, the ACC system should maintain the desired velocity like the conventional
cruise control system. It is important that not only both modes should operate properly
and stably, but also the transient performance should be smooth and safe when the mode is
switched from one to the other.
A mode switching scheme is one method which deals with the presence of a lead vehicle.
The control algorithm switches between the speed control and the distance control modes
based on the relative distance to the lead vehicle [63, 58]. The speed control algorithm is used
when no lead vehicle is detected or the lead vehicle is farther than a specified relative distance.
When the lead vehicle is close, the distance control algorithm is used. One downside of this
method is that two di↵erent feedback loops are required: velocity and distance control loops.
If conventional PID feedback controllers are used, integrator windup must also be properly
taken into consideration.
Another drawback of the mode switching scheme is that the transient maneuver is not
considered. When the speed control algorithm is activated, if a new lead vehicle cuts in
from a side lane or a slower lead vehicle approaches from the front, the mode is abruptly
changed to the distance control which can cause unpleasant motion of the host vehicle. A
model predictive control method was studied to control the transitional maneuver of the
ACC system [4]. In [4], the optimal motion of the host vehicle was calculated by solving an
optimization problem over a time horizon and the initial optimal control input was utilized as
the control command. The model predictive controller was appropriate only for the distance
control mode or the transition from the speed control to the distance control mode. Still, a
separate speed controller was required to control the host vehicle during the speed control
mode. Also, the model predictive control requires significant computational e↵orts and a
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 30
where dm1 and dm2 are marginal distances. This introduces hysteresis in the mode switching
as shown in Figure 3.1. If there is no lead vehicle, drel is infinite and the speed control mode
is utilized.
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 32
The input signal to the speed control algorithm is the speed error which is given by:
⇢
vdesired vhost mode = SC
e2 = (3.5)
0 mode = DC
where vdesired is the desired speed set by the driver. There is an additional switch to cancel
the output of the inactivated mode:
⇢
a1 mode = DC
ad = (3.6)
a2 mode = SC
If PID controllers are used for both algorithms, the integral controller of the inactivated
mode should be initialized when the mode is switched.
!
Figure 3.2: Block diagram of the mode switching scheme
!
Figure 3.3: Concept of the virtual lead vehicle scheme
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 34
!
Figure 3.4: Block diagram of the virtual lead vehicle scheme
control algorithms are described in Section 3.2.3. However, when the mode is changed from
one to the other due to cutting in or out of the lead vehicle, the speed and the position of the
virtual lead vehicle should be smoothly change from those of the old lead vehicle to those of
the new lead vehicle. A double integrator model and a linear quadratic control scheme are
strong candidates to achieve this desired behavior.
input is the acceleration. The continuous time model of the virtual lead vehicle is:
ẋvl (t) 0 1 xvl (t) 0 xvl (t)
= + avl (t) = A + Bavl (t) (3.7)
v̇vl (t) 0 0 vvl (t) 1 vvl (t)
where xvl , vvl , and avl are the position, speed, and the acceleration of the virtual lead vehicle,
respectively.
The task of the controller is to make the virtual vehicle follow the actual lead vehicle
smoothly. In this thesis, to follow means that both the position and the velocity of the
virtual vehicle converge to those of the actual vehicle. The errors are defined as:
ex (t) xvl (t) xal (t)
= (3.8)
ev (t) vvl (t) val (t)
where xal and val are the position and the speed of the actual lead vehicle, respectively. The
error dynamics is:
ėx (t) ex (t)
=A + B(avl (t) aal (t)) (3.9)
ėv (t) ev (t)
where aal is the acceleration of the actual lead vehicle. It is assumed that the relative distance
and velocity of the actual lead vehicle are measurable. Since the position and velocity of the
virtual lead vehicle is either known and fixed, or dependent on the actual lead vehicle, the
relative distance and the relative velocity between the virtual and the actual lead vehicle can
be computed. However, the behavior of the lead vehicle is unknown and hence the actual
lead vehicle acceleration aal is considered as a disturbance.
AT P + P A P BR 1 B T P + Q = 0 (3.13)
In this case, there are only two states and the Riccati equation can be algebraically solved.
The feedback control law is given as:
q r q
aLQ (t) = x
2 x
+ v X(t) (3.14)
a a a
The solution given in (3.14) is for the case without constraints. For actual implementation,
however, acceleration and jerk have to be constrained to limit passenger discomfort. These
constraints are given by:
amin avl (t) amax (3.15)
jmin jvl (t) jmax (3.16)
The acceleration of the virtual lead vehicle is given as:
avl (t) = max{min(aLQ , amax , a(t t) + jmax t), amin , a(t t) + jmin t} (3.17)
where aLQ is the solution of the unconstrained problem given in (3.14), and t is the con-
troller sampling time.
12
lead
10 MPC
velocity [m/s]
LQ
8
4
0 5 10 15 20 25
time [sec]
300
position [m]
200
100
0
0 5 10 15 20 25
time [sec]
!
Figure 3.5: Simulation results with MPC and LQ control: Position and velocity of the virtual
lead vehicle
x = 1, v = 10, a = 25 (3.19)
Root Locus
0.2
0.15
System: sys
0.1
Gain: 0.04
Pole: -0.447 + 7.52e-009i
Damping:
0.05 1
Overshoot (%): 0
Imaginary Axis
-0.05
-0.1
-0.15
-0.2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
15
actual lead
lambdaa=10
velocity [m/s]
lambdaa=25
10
lambdaa=50
5
0 5 10 15 20 25
time [sec]
300
position [m]
200
100
0
0 5 10 15 20 25
time [sec]
!
Figure 3.7: Simulation results with constant weights position and velocity of the virtual
lead vehicle
The position error should be more penalized than the speed error while the acceleration is
penalized more to make the motion smooth. When both the position and the velocity errors
are positive, it is a dangerous situation and it is desirable to decelerate the host vehicle
quickly. In that case, both errors should be penalized while the acceleration should be less
penalized to ensure a fast response.
Since the desired values of the weights are changing according to the sign of the errors,
the variable weights are suggested as:
2
x = x0 (1 + tan 1 ( x ex (t))) (3.20)
⇡
2
v = v0 (1 + tan 1 ( v ev (t))) (3.21)
⇡
4
a = a0 (1 2
tan 1 ( x ex (t))tan 1 ( v ev (t))) (3.22)
⇡
The arctangent function is introduced instead of the sign function to make it continuous and
’s are constants describing the slope of the arctangent function near the origin.
3.9 shows the weights. As shown in Figure 3.9, when the velocity error becomes positive, the
weights on the velocity and the acceleration are increased to prevent the velocity overshoot.
Figure 3.10 shows the velocity and the fuel consumption of the host vehicle. The engine
and the brake dynamics are assumed to be first order with time constants 0.5 and 0.04
respectively. The fuel consumption is calculated with a VT model [2]. As shown in Figure
3.10, with the variable weights, the large velocity overshoot is avoided and fuel efficiency is
improved. The square sums of the acceleration and the jerk, which can represent a measure
of passenger comfort, are 0.2014[m2 /sec4 ] and 0.0814[m2 /sec6 ] respectively with variable
weights, and 0.4003[m2 /sec4 ] and 0.7638m[2 /sec6 ] respectively with the constant weights.
Figures 3.11 ⇠ 3.13 show the simulation results with di↵erent situation where a slower
lead vehicle cuts in. As shown in the figures, with variable weights, the motions of the virtual
lead vehicle and the host vehicle are smoother. Also the fuel efficiency is better than the
constant weights. The square sums of the acceleration and the jerk are 0.1050[m2 /sec4 ] and
0.0586[m2 /sec6 ] respectively with the variable weights, and 0.1527[m2 /sec4 ] and 0.1865[m2 /sec6 ]
respectively with the constant weights.
q r q
Since x
a
and 2 x
a
+ v
a
are always positive, the equilibrium point of the system is only
the origin and the origin is a stable equilibrium point. However this does not guarantee that
the solution converges to zero with an arbitrary initial condition. To show this, a phase
plane analysis is performed.
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 41
12
actual
10 Variable weights
velocity [m/s] Constant weights
8
4
0 5 10 15 20 25 30 35 40 45 50
time [sec]
400
300
position [m]
200
100
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
!
Figure 3.8: Simulation results when a lead vehicle cuts out position and velocity of the
virtual lead vehicle
20
lambdax
10
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
20
lambdav
10
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
1000
lambdaa
500
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure !3.9: Simulation results when a lead vehicle cuts out variable weights
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 42
12
Variable weights
10 Constant weights
velocity [m/s]
8
4
0 5 10 15 20 25 30 35 40 45 50
time [sec]
0.015
fuel consumption [Gal]
0.01
0.005
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
!
Figure 3.10: Simulation results when a lead vehicle cuts out position and velocity of the
host vehicle
12
actual
Variable weights
velocity [m/s]
10
Constant weights
6
0 5 10 15 20 25
time [sec]
300
position [m]
200
100
0
0 5 10 15 20 25
time [sec]
!
Figure 3.11: Simulation results when a lead vehicle cuts in position and velocity of the
virtual lead vehicle
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 43
20
lambdax
10
0
0 5 10 15 20 25
time [sec]
20
lambdav
10
0
0 5 10 15 20 25
time [sec]
1000
lambdaa
500
0
0 5 10 15 20 25
time [sec]
Figure !3.12: Simulation results when a lead vehicle cuts in variable weights
12
Variable weights
velocity [m/s]
Constant weights
10
6
0 5 10 15 20 25
time [sec]
-3
x 10
8
fuel consumption [Gal]
0
0 5 10 15 20 25
time [sec]
!
Figure 3.13: Simulation results when a lead vehicle cuts out position and velocity of the
host vehicle
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 44
10
2
v[m/s]
-2
-4
-6
-8
-10
-10 -8 -6 -4 -2 0 2 4 6 8 10
x[m]
Figure 3.14 shows the phase plane plot of the closed loop system. As expected from
(3.23) the solution trajectory moves to the positive x direction in the first and the second
quadrants, and to the negative x direction in the third and the forth quadrants. Also as
expected from (3.24) the solution trajectory goes to the negative v direction in the first
quadrant and to the positive v direction in the third quadrant. As a result the solution will
meet the x axis at some point. The solution from a point on the positive x axis will meet
the positive x axis again. If the second point is closer to the origin than the first point, it
can be concluded that all initial points converge to the origin and the system is stable.
Since the system is nonlinear, it is hard to find the solution explicitly. However it is
possible to find a linear switching system which always behaves worse than the original
system. From (3.23) and (3.24), the slope on the phase plane is:
s v s
u
dev (e ) e (t) u
x x x t2 x (ex ) v (ev )
= + (3.25)
dex a (ex , ev ) ev (t) a (ex , ev ) a (ex , ev )
The convergence is slower if the slope is large (steep when positive and flat when negative).
With the weights given in (3.20) ⇠ (3.22), the behavior of the system is always better than
the worst case system given by:
10 10
v[m/s]
v[m/s]
5 5
0 0
-10 -5 0 0 5 10
x[m] x[m]
0 0
v[m/s]
v[m/s]
-5 -5
worst
original
-10 -10
-10 -5 0 0 5 10
x[m] x[m]
!
Figure 3.15: Phase plane plot of the closed loop system at each quadrant comparing the
worst case gains and the original gains
8 q
>
> x0
x > 0, v > 0
>
> q a0
>
>
< 2 x0
x > 0, v < 0
a1 = q a0
(3.28)
>
> x (xmin )
x < 0, v > 0
>
> q a0
>
>
: x0
x < 0, v > 0
a0
8 r q
>
>
>
> 2 x0
+ a0 v0
x > 0, v > 0
>
> r
a0
>
> q
>
>
< 2 2 x0a0 + v2(vmin
a0
)
x > 0, v < 0
a2 = r q (3.29)
>
> x (xmin )
>
>
> 2 + v (va0 min )
x < 0, v > 0
>
> r q a0
>
>
>
: 2 x (xmin )
+ 2 v0a0 x < 0, v > 0
2 a0
where xmin and vmin are the minimum position error and the minimum velocity error, re-
spectively. In our case vmin is 15[m/sec] and xmin is 32[m].
Figure 3.15 shows the simulation results comparing the worst case gains and the original
gains. As shown in the figures, with the worst case gains the performance is worse at all four
quadrants in the sense of converging to the origin.
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 46
10
2
v[m/s]
-2
-4
-6
-8
-10
-10 -8 -6 -4 -2 0 2 4 6 8 10
x[m]
! Phase plane plot of the closed loop system with the worst case gains
Figure 3.16:
Figure 3.16 shows the simulation result with the worst case system described in (3.26) ⇠
(3.29). The initial point is (10, 0) and the simulation results shows that the next intersection
with the positive x axis is closer to the origin. Since the system is linear at each quadrant,
the sequence of intersections with the positive x axis converges to the origin and any initial
states will converge to the origin. The original system behaves better than the worst case
system at each quadrant, i.e. the solution of the original system is confined by the solution
of the worst case system, and the states will converge to the origin faster than the worst case
system.
Figure 3.17: Block diagram of the speed and the position errors between the virtual and the
actual lead vehicles
function is:
t2 (z + 1)
Gn (z) = (3.30)
2(z 1)2
where t is the sampling time. The relative degree r is 1. Furthermore, d and u⇤ in Figure
3.18 are respectively al and af eedback , where af eedback is the desired acceleration of the virtual
lead vehicle calculated by the feedback controller. With the estimated disturbance, the
acceleration of the virtual lead vehicle is:
where âl is the estimated lead vehicle acceleration by DOB. If the measurement noise is
neglected, the Q-filter can be set to 1 since there is no model uncertainty.
Figures 3.19 ⇠ 3.22 compare the simulation results with and without the DOB when there
are initial velocity and position errors and the actual lead vehicle accelerates or decelerates.
As shown in the figures, the DOB helps the host vehicle react faster to the lead vehicle
acceleration and reduces or practically eliminates the overshoot or the undershoot. Since
there is no model uncertainty, the closed loop of the DOB is stable with Q(z) = 1.
However in real circumstances, the measurement signals are contaminated by noise. With
no model uncertainty and Q(z) = 1, the transfer function of the closed loop system with the
DOB is:
where e is the position error. Figure 3.23 shows the block diagram of the closed loop system.
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 49
14
13
12
velocity [m/s]
11
10
9 lead
w/ DOB
w/o DOB
8
7
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.19: Simulation results with and without the DOB when the lead vehicle accelerates:
velocity
20
w/ DOB
w/o DOB
15
position error[m]
10
-5
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.20: Simulation results with and without the DOB when the lead vehicle accelerates:
position error
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 50
10
lead
9 w/ DOB
w/o DOB
8
7
velocity [m/s]
1
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.21: Simulation results with and without the DOB when the lead vehicle decelerates:
velocity
20
w/ DOB
w/o DOB
15
position error[m]
10
-5
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.22: Simulation results with and without the DOB when the lead vehicle decelerates:
position error
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 51
250
lead
200 virtual
150
100
50
velocity[m/s]
-50
-100
-150
-200
-250
0 5 10 15 20 25 30 35 40 45 50
time[sec]
(3.32) and (3.33) mean that the transfer function from the control input to the output
is the same with the original open loop transfer function and the disturbance is efficiently
rejected. These are the typical benefits of the DOB. However (3.34) means that the noise
is not rejected at all. As a result, the position of the virtual lead vehicle is contaminated
by the measurement noise and the velocity, which is the time derivative of the position, and
becomes very noisy.
A simulation study is performed to check the e↵ect of the noise. In the simulation the
velocity and the position of the lead vehicle are contaminated by zero-mean white Gaussian
noises. It is assumed that the noises of the position and the velocity measurements are
independent. As shown in Figure 3.24, the velocity of the virtual lead vehicle is very noisy
as expected. This also causes a problem for the feedback controller of the host vehicle. If
the feedback controller has a derivative controller, the control signal would be very noisy.
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 52
11
lead
10 virtual
7
velocity [m/s]
1
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.25: Simulation results with measurement noise using the velocity measurement:
velocity
To prevent this, the velocity error may be utilized as the output of the system instead of
the position error. The transfer function from the acceleration to the velocity is:
t
Gn (z) = (3.35)
z 1
Figures 3.25 ⇠ 3.27 show the simulation results with the plant given by (3.35). As shown
in the figures, the position signal of the virtual lead vehicle is very smooth and the velocity
of the virtual lead vehicle is a little noisy. Since the feedback controller of the host vehicle
utilizes the relative position error, the noise of the velocity signal does not a↵ect much.
However, the acceleration of the virtual lead vehicle, which can potentially be utilized as a
feedforward control signal, is very noisy as shown in Figure 3.27. To prevent this, the Q-filter
is designed to be a low pass filter.
Figures 3.28 and 3.29 show the simulation results with a Q-filter, given by:
✓ ◆3
0.01
Q(z) = (3.36)
1 0.99z 1
The velocity of the virtual lead vehicle is smoother. The acceleration is a little noisy,
but compared to the case without Q-filter (Figure 3.27) the noise level has significantly been
reduced. For smoother acceleration, the cuto↵ frequency of the Q filter can be lowered.
Doing so, however, slows the response and consequently reduces the performance of the
DOB. The Q filter should be tuned based on the properties of the actual measurement noise.
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 53
20
15
position error[m]
10
-5
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.26: Simulation results with measurement noise using the velocity measurement:
position error
25
20
15
10
acceleration [m/s 2]
-5
-10
-15
-20
-25
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.27: Simulation results with measurement noise using the velocity measurement:
acceleration of the virtual lead vehicle
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 54
10
lead
9 virtual
7
velocity[m/s]
1
0 5 10 15 20 25 30 35 40 45 50
time[sec]
0.1
-0.1
acceleration [m/s 2]
-0.2
-0.3
-0.4
-0.5
-0.6
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.29: Simulation results with a Q-filter: acceleration of the virtual lead vehicle
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 55
10
lead
9 virtual
w/ avl
8 w/o avl
7
velocity [m/s]
1
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.30: Simulation results showing the vehicle behavior with and without the feedfor-
ward control when the lead vehicle decelerates: the lead and virtual vehicle‘s velocity
0.4
w/ avl
0.3 w/o avl
0.2
0.1
position error[m]
-0.1
-0.2
-0.3
-0.4
-0.5
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.31: Simulation results showing the vehicle behavior with and without the feedfor-
ward control when the lead vehicle decelerates: the host vehicle‘s position
14
13
12
velocity [m/s]
11
10
lead
virtual
9 w/ avl
w/o avl
7
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.32: Simulation results showing the vehicle behavior with and without the feedfor-
ward control when the lead vehicle accelerates: the lead and virtual vehicle‘s velocity
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 57
1
w/ avl
0.6
position error[m]
0.4
0.2
-0.2
-0.4
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 3.33: Simulation results showing the vehicle behavior with and without the feedfor-
ward control when the lead vehicle accelerates: the host vehicle‘s position
noise, respectively. They are uncorrelated and their covariances are ⇤ww , ⇤nx nx , and ⇤nv nv ,
respectively.
Assuming that the process noise and the measurement noises are stationary, a steady
state Kalman filter can be designed to estimate the augmented states. In DOB, the output
of the Q-filter is the estimated disturbance which in this case is the lead vehicle accelera-
tion. In the Extended State DOB(ESDOB) the lead vehicle acceleration is included in the
augmented states and estimated by the Kalman filter. Like the DOB, the estimated lead
vehicle acceleration is added to the feedback acceleration.
The DOB introduced in the previous sections utilizes only the velocity measurement.
The Kalman filter designed above utilizes both the velocity and the distance measurements.
It can be expected that the performance of the Kalman filter would be better than the
DOB since it uses more information. However such an expectation holds only if the position
measurement is as good as or better than the velocity measurement in terms of measurement
noise. This does not mean that the covariance of nx is smaller than that of nv . Since the
velocity is related to the position by a di↵erentiator given by:
x(k + 1) x(k)
v(k + 1) = (3.41)
t
The covariance of the position measurement noise is translated to the velocity measurement
noise by:
2
⇤⇤nv nv = ⇤n n (3.42)
t2 x x
If the covariance of the position measurement is fairly smaller than the velocity measure-
ment noise covariance, i.e. ⇤⇤nv nv < ⇤nv nv , the augmented Kalman filter should show better
performance than DOB.
Table 3.2 compares simulation results of di↵erent DOBs with same noise data where
the position measurement is better than the velocity measurement in the sense of noise
covariances. In the simulations, initial velocity and position errors are zero and the lead
vehicle decelerates. The root mean square (RMS) errors of the position and the velocity are
used to compare the performance and the RMS jerk of the estimated lead vehicle acceleration
is used to measure how much the control signals are noisy. Two di↵erent Q-filters are used
to compare both the performance and the noise cancellation.
✓ ◆2
0.01
Q1 (z) = 1
(3.43)
1 0.99z
✓ ◆3
0.01
Q2 (z) = 1
(3.44)
1 0.99z
RMS Position Error [m] RMS Velocity Error [m/s] RMS Jerk [m/s3 ]
DOB with Q1 0.0910 0.0252 2.4855
DOB with Q2 0.1316 0.0345 0.9976
ESDOB 0.0760 0.0203 0.9911
Table 3.2: Simulation results comparing the DOB and the Extended State DOB(ESDOB)
The input noise covariance and the measurement noise covariance are:
⇤ nx nx 0
W = ⇤ww , V = (3.50)
0 ⇤n v n v
This Kalman filter is called the extended state DOB in this thesis.
As shown in the simulation results, the performance of extended state DOB is better
than the typical DOB for both the disturbance compensation and the noise cancellation.
However, the extended state DOB is useful only when the position measurement is minimally
contaminated by noise. Note that with a short sampling time, ⇤nx nx must be very small
for ⇤⇤nv nv < ⇤nv nv to be hold. For further progress and implementation, more information
about the measurement sensor noise is required to check the e↵ectiveness of the extended
state DOB.
3.7 Summary
In this chapter, the virtual lead vehicle scheme was introduced. Instead of following the
actual lead vehicle, the host vehicle followed the virtual lead vehicle generated by the ACC
system. When there was a lead vehicle, the speed and the position of the virtual lead vehicle
were set to be the same with the speed and the position of the actual lead vehicle. When
no lead vehicle was detected, the speed of the virtual lead vehicle was set to be the desired
CHAPTER 3. VIRTUAL LEAD VEHICLE SCHEME 60
speed and the switching between the distance control and the velocity control modes was
prevented.
Also the virtual lead vehicle scheme was utilized for smooth transient during cutting
in/out of a lead vehicle. When the lead vehicle cut out or a new lead vehicle cut in from
a side lane, the virtual lead vehicle merged smoothly to the new lead vehicle and the host
vehicle followed the virtual lead vehicle and moved smoothly. A linear quadratic controller
with variable weights was designed to control the virtual vehicle in transient. With the
variable weights, the virtual vehicle was controlled to move smoothly when it was a safe
situation and react faster when it was a dangerous situation. The stability of the linear
quadratic control with variable weights was proved by a phase portrait method.
In the transient motion, the virtual lead vehicle was modeled as a double integrator and
the lead vehicle acceleration was assumed to be zero which is not always true. A disturbance
observer (DOB) was utilized to estimate and compensate the actual lead vehicle acceleration.
When the lead vehicle acceleration was estimated and compensated by adding a feedforward
control input to the virtual lead vehicle, the virtual lead vehicle showed faster and safer
performance. Extended state disturbance observer was studied for the case when both the
position and the velocity measurements were utilized in the DOB. Extended state DOB
showed better performance than the original DOB when the position measurement noise
covariance was smaller than the equivalent velocity measurement noise covariance.
61
Chapter 4
4.1 Introduction
While the conventional ACC is intended to assist the driver at relatively higher speeds, the
ACC system with Stop-and-Go is intended to be used at low speeds and should have a
capability to stop the vehicle completely if there is a stopped lead vehicle [38]. Since it is
expected to be utilizable at low speed in urban driving situations, the ACC system with
Stop-and-Go should be able to properly react to frequent cutting in and out of lead vehicles
and this feature is studied with the virtual lead vehicle scheme in 3. Another necessary
feature is the complete stop.
Various research have been done about the ACC with Stop-and-Go. Fuzzy control algo-
rithms were used in [11] and [32]. Linear quadratic optimal controller with mode switching
between the speed control algorithm and the distance control algorithm was used in [63,
64]. Sliding controller was utilized in [1] and [6]. Various feedback control laws based on
the velocities of the lead and the host vehicles and the relative distance were also used [28,
41]. Explicit Model Predictive Control was also applied to ACC with Stop-and-Go in [34].
In most of the previous research, the ACC with Stop-and-Go systems were designed and
verified that they were utilizable in certain speed range including low speeds. However, the
passenger comfort was not considered during a complete stop.
As studied in Section 2.4, the desired relative distance to the lead vehicle is calculated
from the time-headway and the safety distance. i.e. ddesired = thw vhost + dof f set With the
constant time-headway, the string stability is guaranteed. However, it can cause a problem
when the lead vehicle is stopped completely. When the lead vehicle is stopped completely,
the host vehicle should be stopped dof f set behind the lead vehicle. However at the moment
when the lead vehicle is stopped, the desired distance, which is proportional to the velocity
of the host vehicle, is larger than dof f set and the controller tries to maintain larger distance
to the lead vehicle than it actually should. Figure 4.1 shows the simulation result for a
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 62
12
lead
host
10
8
velocity[m/s]
−2
0 10 20 30 40 50
time[sec]
Figure 4.1: Velocity of the lead and the host vehicle in case of a complete stop
complete stop when a PID controller is used and the desired relative distance is determined
by the constant time-headway. As shown in the figure, when the lead vehicle is stopped,
initially the host vehicle still decelerates very fast and maintains very slow velocity until it
stops completely. It takes more than 10 seconds for the host vehicle to completely stop after
the lead vehicle has stopped. This motion can make the driver feel uncomfortable and can
cause more wear on brakes.
To prevent this unnecessary motion when the lead vehicle completely stops, an optimal
acceleration profile should be calculated and the PID feedback controller should be replaced
by an alternative controller which has a better tracking capability. Sliding controller is
a possible candidate. However, the optimization problem should be solved in real time to
calculate the optimal profile for the sliding controller. Fortunately, the optimization problem
formulated in this chapter is a quadratic programming problem and can be converted to a
linear complementarity problem. The linear complementarity problem can be solved fast
with the Lemke algorithm if the dimension of the problem is small. In this thesis, a multi-
resolution formulation is suggested to reduce the dimension of the problem without changing
the fundamental characteristic of the problem and to solve it very fast.
This chapter is organized as follows. Optimization problems are formulated to find the
optimal relative distance profile during a complete stop and the optimal velocity profile
during a starting motion in Section 4.2. In Section 4.3, a sliding mode controller is designed
for a complete stop and the virtual lead vehicle scheme is also utilized for the starting motion.
In Section 4.4, algorithms solving the optimization problem are studied and multi-resolution
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 63
formulation is suggested to solve the problem in real time. Section 4.5 summarizes the
chapter.
where x(t), v(t) and a(t) are the position, the velocity, and the acceleration at time t, respec-
tively. Using (4.1) and (4.2), however, makes the problem infinite dimensional and generally
hard to solve. To get the discrete time formulation, it is assumed that the acceleration is
constant for each time step t. Then the double integrator can be expressed as:
1 2
xk+1 1 t xk t
= + 2 ak (4.3)
vk+1 0 1 vk t
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 64
where xk and vk are the position and the velocity at each time, i.e. xk = x(k t), and the
ak is the constant acceleration during the time step, i.e. a(t) = ak for (k 1) t t < k t.
The time horizon should be fixed as a constant Tf < 1 to make the problem finite
dimensional and to find the solution such that the host vehicle stops in finite time after a
reasonable time duration. The initial conditions x(0) and v(0) are assumed to be known,
and the final conditions are x(Tf ) = xlead dof f set , v(Tf ) = 0, and a(Tf ) = 0. The cost
which is minimized in the optimization problem should penalize not only the stopping time
but also the acceleration and jerk to improve the passenger comfort. There should also be
maximum and minimum limits for the acceleration and the jerk. One simple cost function
choice to make the optimization problem easily solvable is to use a quadratic cost function
that penalizes distance error, acceleration, and jerk given by:
J(x, a, j) = xl k22 + a kak22 + j kjk22
x kx (4.4)
⇥ ⇤T ⇥ ⇤T
where x xl = x1 xl x2 xl · · · xN xl , xl = xlead dof f set , a = a1 a2 · · · aN ,
⇥ ⇤T
and j = j1 j2 jN 1 . jk is the jerk which is given as jk = (ak+1 ak )/ t and
N = Tf / t. Since the jerk can be represented as a linear function of the acceleration, the
cost function can be represented only as a function of the acceleration by:
J(x, a) = x kx xl k22 + aT a IN ⇥N + jJ
T
J a (4.5)
where 2 3
1 1 ··· 0
0
. . . .. 7
1 6
6 0 1 1 . 7
J= 6 .. .. .. .. 7 (4.6)
t4 . . . . 0 5
0 ··· 0 1 1
Since, the cost function in (4.5) is quadratic in terms of the acceleration and is strictly
convex, it can be solved in finite time[7]. The algorithm will be reviewed in Section 4.4. To
reduce the time to completely stop, x xl should converges to zero quickly. To enforce it,
l0 norm can be introduced. The l0 norm of a vector is defined as the number of nonzero
elements of it. If the l0 norm of a vector is penalized in the optimization problem, the
solution becomes sparse i.e. many elements are zero. However, the l0 norm of a vector is
not convex and it is not guaranteed that the optimization problem is solvable. Instead the
l1 norm which is a convex relaxation of the l0 norm can be used. The l1 norm of a vector is
defined as:
XN
ksk1 = |si | (4.7)
i=1
1
By penalizing the l norm of the relative distance in the cost function, the relative distance
of the solution becomes sparse. Since the relative distance should always be larger than or
equal to zero, penalizing the l1 norm of the relative distance works as a time penalization.
The modified cost function is:
J(x, a) = aT a IN ⇥N + jJ
T
J a+ x kx xl k1 (4.8)
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 65
Considering the passenger comfort, the inequality constraints for the acceleration and
the jerk are introduced. Also, to prevent unreasonable motions, i.e. moving backward, the
inequality constraints for the velocity are introduced. Also, the linear model equation and
the initial conditions are added as equality constraints.
xi xl (4.9)
vi 0 (4.10)
amin ai amax (4.11)
jmin ji jmax (4.12)
1
xk+1 1 t xk t2
= + 2 ak (4.13)
vk+1 0 1 vk t
1
x1 1 t x0 t2
= + 2 a0 (4.14)
v1 0 1 v0 t
where x0 , v0 , and a0 are the initial position, velocity, and acceleration of the host vehicle.
The optimization problem is given with (4.8) and (4.9) ⇠ (4.14). However it can be
simplified to be solved efficiently. The problem has 3N variables, i.e. x 2 RN , v 2 RN ,
and a 2 RN . However (4.8) is only a function of the acceleration while the position and the
velocity are related through (4.13) and (4.14). The position vector and the velocity vector
can be expressed as an affine function of the acceleration vector as (4.15) and (4.16) to reduce
the problem dimension.
2 3 2 1 t2 0 0 · · · 0
3
x0 + v0 t 2
6 x0 + 2v0 t 7 6 3 1 .. .. 7
6 7 6 t2 t2 0 . . 7
6 x0 + 3v0 t 7 6 5 2 6 2 2
. 7
x=6 7+6 2 t 3
t 2 1
t 2 . . 0 7 a , X0 + Xa (4.15)
6 .. 7 6 2 2 7
4 . 5 4 .. ... .. .. 7
. . . 0 5
x0 + N v 0 t 2N 1
t2 2N 3 t2 · · · 3 t2 1 t2
2 2 2 2
2 3 2 3
v0 t 0 ··· 0
6 7 6 . .. 7
6 v0 7 6 t t .. . 7
v=6 ..7+6 . .. . . 7 a , V0 + V a (4.16)
4 .5 4 .. . . 0 5
v0 t t ··· t
From (4.9), kx xl k1 in the cost function can be represented as 1TN (x xl ) where
⇥ ⇤T
1N = 1 · · · 1 2 RN ⇥1 . Also from (4.10), the velocity is always greater than or equal
to zero and hence, (4.9) can be reduced to a single constraint xN xl 0. Finally, the
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 66
x[m]
2
0
0 1 2 3 4 5
time[sec]
1
l−1
v[m/s]
l−2
0.5
0
0 1 2 3 4 5
time[sec]
0.5
a[m/s ]
2
−0.5
0 1 2 3 4 5
time[sec]
minimize aT ( a IN ⇥N + jJ
T
J)a T
x 1N Xa
a2RN
subject to (X0 + Xa)N xl
(V 0 + V a)i 0 (4.17)
amin ai amax
jmin (Ja)i jmax
x[m]
2
0
0 1 2 3 4 5
time[sec]
1
=1
x
v[m/s]
0.5 = 100
x
0
0 1 2 3 4 5
time[sec]
1
a[m/s2]
−1
0 1 2 3 4 5
time[sec]
where vf is the desired final velocity and V is the matrix defined in (4.16).
Figure 4.5 shows the simulation result with various j ’s. The initial velocity, the initial
acceleration, and the desired final velocity are 0[m/sec], 0[m/sec2 ], and 5[m/sec], respec-
tively. The maximum acceleration is given by 1[m/sec2 ], and the maximum magnitude of
the jerk is 2[m/sec3 ]. The final time is 10 sec. As shown in Figure 4.5 with larger j , the
jerk is penalized more and as a result the acceleration profile becomes smoother. However,
it will make the velocity converge to its final value a little slower.
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 68
40
x[m]
20
0
0 2 4 6 8 10
time[sec]
10
v[m/s]
0
0 2 4 6 8 10
time[sec] = 0.5
j
2 = 0.005
j
a[m/s2]
−2
0 2 4 6 8 10
time[sec]
where ⌧b is the time constant of the brake. The state space equations of the system are given
by:
x1 = drelative = d0 x (4.20)
ẋ1 = x2 = ẋ = v (4.21)
ẋ2 = x3 = ẍ = a (4.22)
... 1 1
ẋ3 = x4 = x = u+ a (4.23)
⌧b ⌧b
where d0 is the relative distance to the stopped lead vehicle, x is the position of the host
vehicle from the initial position, v is the velocity of the host vehicle, a is the acceleration of
the host vehicle, and u is the control input. The objective of the sliding control is to make
the x1 track the previously designed desired trajectory. The relative degree of the system is
three, and we can define a sliding surface as:
✓ ◆2
d
S= + (ẋ1 d˙d ) (4.24)
dt
where dd is the desired relative distance trajectory. The sliding condition is represented by:
S Ṡ ⌘|S| (4.25)
To satisfy this condition, the time derivative of the sliding surface can be chosen as:
Ṡ = ⌘sgn(S) (4.26)
Since, Ṡ is a function of the control input u, the control input is determined from (4.26) as:
✓ ◆
... 1
d d + a + 2 ( d¨d a) + ( d˙d v) + ⌘sgn(S)
2
u = ⌧b (4.27)
⌧b
(4.27) gives the sliding control law.
2
relative distance
1.8 desired relative distance
1.6
1.4
1.2
d[m]
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
Figure 4.6: Simulation results with the sliding mode controller: relative distance
0.2
acceleration[m/s 2]
-0.2
-0.4
-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
0.2
control signal[m/s 2]
-0.2
-0.4
-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
Figure 4.7: Simulation results with the sliding mode controller: acceleration and control
command
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 71
2
relative distance
1.8 desired relative distance
1.6
1.4
1.2
d[m]
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
Figure 4.8: Simulation results with the smooth sliding mode controller: relative distance
in (4.28) defines the boundary layer thickness. Large reduces the oscillation but
worsens the guaranteed precision [48]. In the simulation = 0.1 is used.
Figures 4.8 and 4.9 show the result with the smooth sliding control law. The tracking
performance is almost the same as the sliding mode controller with the sign function, while
there is no undesirable oscillation.
0.2
acceleration[m/s 2]
0
-0.2
-0.4
-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
0.2
control signal[m/s 2]
-0.2
-0.4
-0.6
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
Figure 4.9: Simulation results with the smooth sliding mode controller: acceleration and
control command
where ⌧e is the time constant of the engine. The state space equations of the system are
given by:
x1 = v (4.31)
ẋ1 = x2 = a (4.32)
1 1
ẋ2 = x3 = ȧ = u a (4.33)
⌧e ⌧e
The relative degree of the system is two, and we can define a sliding surface as:
✓ ◆
d
S= + (ẋ1 v̇d ) (4.34)
dt
where vd is the desired velocity. The sliding surface can be chosen as:
Ṡ = ⌘sgn(S) (4.35)
To prevent the undesired oscillation, the smooth sliding control input is:
✓ ✓ ◆◆
1 S
u = ⌧e v̈d + a + (v̇d a) ⌘sat (4.36)
⌧e
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 73
16
14
actual
desired
12
10
0
0 5 10 15 20 25 30 35 40 45 50
Figure 4.10: Simulation result for a starting motion with a sliding mode controller
20
v[m/s]
10 virtual lead
host
0
0 5 10 15 20 25 30 35 40 45 50
time[sec]
2
virtual lead
a[m/s 2]
1 host
0
0 5 10 15 20 25 30 35 40 45 50
time[sec]
0.5 virtual lead
jerk[m/s 3]
host
0
-0.5
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Figure 4.11: Simulation result with a virtual lead vehicle utilizing the optimal velocity profile
host vehicle follows the virtual lead vehicle and eventually follows the actual lead vehicle
smoothly.
4
v[m/s]
actual lead
1
virtual lead
host
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 4.12: Simulation result with a virtual lead vehicle and a slow lead vehicle: velocity
14
12
10
distance error [m]
0
0 5 10 15 20 25 30 35 40 45 50
time [sec]
Figure 4.13: Simulation result with a virtual lead vehicle and a slow lead vehicle: distance
error
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 76
Due to the property of the log function, if the inequality constraints are about to be violated,
the log barrier function becomes arbitrarily large. The log barrier function is added to the
cost function to make the problem with only equality constraints as:
1
minimize t( y T Qy + f T y) + (y) (4.40)
y 2
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 77
t in the cost function is the weight between the original cost and the log barrier function.
Initially, t is small and is increased as the iteration goes on. With a very large t, the solution
is almost the same with the original problem.
The unconstrained optimization problem (4.40) can be solved by the Newton method.
In the Newton method, the gradient and the Hessian are used to calculate the searching
direction. From (4.39) and (4.40), the gradient and the Hessian are:
✓ ◆
1 T
r t( y Qy + f y) + (y) = t(Qy + f ) + ATineq d
T
(4.41)
2
✓ ◆
1 T
r t( y Qy + f y) + (y) = tQ + ATineq diag(d)2 Aineq
2 T
(4.42)
2
where di = 1/(bineq,i aTineq,i y). For each iteration, the gradient and the Hessian are calculated
and the descent direction is given as:
y k+1 = y k + ↵k v k (4.44)
where ↵k is the step size at k-th iteration. There are many di↵erent ways to decide the step
size such as the constants step size, the line search, and Armijo rule. In this section, Armijo
rule [5] is used. After each iteration, the t is increased and the iteration stops when the
di↵erence between the new solution and the previous solution is smaller than the tolerance
or the iteration number reaches its maximum value. This procedure is called Phase II.
Since the log function is not defined for the values smaller than or equal to zero, the
Phase II should start with a strictly feasible initial point. To find the strictly feasible point,
another optimization problem is solved, which is called Phase I. The problem is:
minimize s
y,s
(4.45)
subject to Aineq y bineq s1m
⇥ ⇤T
where 1m = 1 · · · 1 2 Rm⇥1 .
The Phase I problem can also be solved by the same scheme with Phase II where the
initial point can be y = 0, s = max( bi ). It is not necessary to solve the Phase I completely
and the iteration can be stopped when the value of s becomes negative. If the optimal s
is nonnegative, the problem is infeasible. In that case, the constraints needs to either be
relaxed, i.e. bineq,new = µbineq , µ > 1, or reformulated.
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 78
Lemke Algorithm
A QP problem with linear constraints can be converted to a linear complementarity problem
which can be efficiently solved by the Lemke algorithm. The Lemke algorithm utilizes
tableaux and pivoting as a linear programming solver and is efficient especially when the
problem size is small.
Since the problem is convex with only linear constraints, strong duality holds and the
Karush-Kuhn-Tucker (KKT) conditions are sufficient for the primal and dual optimal point.
The KKT conditions for the problem (4.17) are:
XXX
XXX t/Tf
XXX 0.05 / 10 0.05 / 5 0.1 / 10 0.1 / 5
I.C. XXX
1 / 0.5 / -0.1 8.745 / 2.176 0.4363 / 0.7434 1.008 / 0.8485 0.1756 / 0.9189
2 / 1 / -0.2 7.818 / 1.941 0.2906 / 0.7234 0.8616 / 0.6474 0.0830 / 0.9787
2/1/0 8.313 / 1.804 0.3528 / 0.6694 0.8750 / 0.6917 0.1048 / 0.9707
5 / 3 / -0.7 25.86 / 1.819 0.4796 / 0.5480 1.406 / 0.7114 0.1589 / 0.9041
Table 4.1: Calculation time [sec] of the Lemke algorithm / Interior point algorithm (Initial
Condition : d0 [m],v0 [m/s],a0 [m/s2 ])
Observing the result in the last column, it can be observed that the calculation time
of the interior point algorithm is longer than the second last column whose dimension is
larger. If checking the calculation time of the Phase I and Phase II of the interior point
method separately, it is found that the majority of the time is consumed in Phase I to find
the feasible initial point. Since the interior point method should start with a strictly feasible
initial point, the shorter time horizon and the longer time step make it hard to find a strictly
feasible point due to the acceleration and jerk constraints. Hence, it takes longer for the
interior point method to solve the problem.
However, it does not necessarily mean that the Lemke algorithm is better than the
interior point method when the initial point is close to the infeasible region. One drawback
of the Lemke algorithm is that the performance of the Lemke algorithm is poor if the initial
condition is poorly conditioned. If the initial distance is very short and the initial velocity is
fast, the host vehicle cannot stop exactly at the desired point with the limited acceleration
and jerk. In that case, the initial condition is infeasible and no solution exists for the
optimization problem. However, the Lemke algorithm cannot distinguish the infeasible initial
condition until it solves the problem and finds out that the solution is infeasible. Also, for
some initial conditions which are feasible but close to being infeasible, the solution of the
Lemke algorithm does not converge. Figures 4.14 and 4.15 show the simulation results with
the initial conditions (2[m],1[m/sec],0.05[m/sec2 ] ) and t = 0.25[sec] which is very close
to an infeasible problem. Although the interior point took longer to solve the problem, the
Lemke algorithm failed to solve the problem.
Also, due to the log barrier, the intermediate solutions of the interior point algorithm are
always feasible. Figures 4.14 and 4.15 show that the intermediate solutions of the interior
point methods are always feasible while those of the Lemke algorithm are infeasible. Since
the intermediate solutions of the interior point algorithm are always feasible, the interior
point algorithm has an advantage for real time applications. Also, Figures 4.14 and 4.15
show that the the interior point algorithm converges exponentially to the final solution while
the Lemke algorithm converges linearly. In the real time application, even if the calculation
is not finished on time, the intermediate solution at that time can be utilized since it is still
feasible and close to the optimal solution. For real time applications, the accuracy of the
solution can be sacrificed to reduce the calculation time. To do that, the iteration number
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 80
0
relative distance [m]
-1
-2
-3
Final Solution
-4
-5
-6
-7
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
1.8
1.6
1.4
1.2
relative distance [m]
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time [sec]
Figure 4.15: Intermediate and final solutions of the interior point algorithm
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 81
or the calculation time can be limited or the algorithm can be terminated once the tolerance
has been met. However those schemes are not applicable with the Lemke algorithm since
the intermediate solutions are infeasible.
One of the biggest advantages of the Lemke algorithm is that it is very fast when the
size of the problem is small. In this thesis, instead of using the intermediate solution, the
size of the problem will be reduced and the Lemke algorithm will be utilized. The scheme
to reduce the problem size will be introduced in the next section.
of the problem was Tf / t. However if a smaller time step is used for the initial time horizon
and a longer time step for later time, the problem size can be decreased. Figure 4.16 shows
the concept of the multi-resolution problem. If the time horizons is 5 second and a constant
time step of 0.2 second is used, the size of the problem is 25. However, if the time step is 0.2
second for the first 1 second and 1 for the later 4 seconds, the size of the problem becomes
9.
The optimization problem is in a same form with (4.37), however the matrices in the
weighting function and the constraints are modified according to the multi-resolution time
step.
2
uniform
x[m]
1 multi
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time[sec]
1
uniform
v[m/s]
0.5 multi
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time[sec]
0.5 uniform
multi
a[m/s 2]
-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time[sec]
Figure 4.17: Solutions of the optimization problems with uniform time step and multi-
resolution time step
used for the later part. At the next time step, the time horizon with the shorter time step
is shifted but is overlapped with the previous time horizon with the shorter time step. The
solution of the overlapped time from the previous problem is applied as equality constraints
for the next problem. Note that at this moment, the controller still utilizes the trajectory
from the first problem solved in the previous time step. However the controller solves the
optimization problem for later time. The overlap is to prevent the discontinuity of the final
solution.
Figure 4.19 compares the solutions of the uniform time step and the multi-resolution time
step. 10[msec] sampling time is used for the uniform time step. For the multi-resolution
formulation, 10[msec] is used for the first 0.2[sec], 0.1[sec] is used from 0.2[sec] to 1[sec], and
1[sec] is used for the later time horizon. Only the solutions of the first 0.2[sec] time horizon
are saved and used. The calculation time of the uniform time horizon problem was 3.9842[sec]
and the average calculation time of the multi-resolution problems was 0.005039[sec]. As
shown in the figure, two solutions are similar.
Figures 4.20 and 4.21 show the simulation result with the sliding controller whose desired
trajectory is calculated in real time. As shown in the figures, with the sliding controller the
vehicle stops completely faster than with the PID controller.
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 84
Figure 4.18: Concept of Multi-resolution formulation to calculate the optimal trajectory for
the sliding control
2
uniform
x[m]
1 multi
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time[sec]
1
uniform
v[m/s]
0.5 multi
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time[sec]
0.5 uniform
multi
a[m/s 2]
-0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time[sec]
Figure 4.19: Solutions of the optimization problems with uniform time step and multi-
resolution time step
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 85
8
lead
sliding
7 PID
4
velocity[m/s]
−1
−2
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Figure 4.20: Simulation result with a sliding controller in case of a complete stop: velocity
[m/sec]
380
lead
sliding
PID
375
370
365
position[m]
360
355
350
345
340
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Figure 4.21: Simulation result with a sliding controller in case of a complete stop: position
[m]
CHAPTER 4. OPTIMAL PROFILE GENERATION FOR STOP-AND-GO 86
4.5 Summary
In this chapter, optimal trajectories for a complete stop and a starting motion were calculated
from a constrained Quadratic Programming (QP) problem. The constant time-headway
policy caused the too slow motion when the vehicle stopped completely. A QP problem was
formulated to find the optimal velocity profile for the complete stop. l1 norm was introduced
as a convex relaxation of the l0 norm. Thanks to the sparse property, the l1 norm made the
velocity converge to zero faster.
Sliding controller was designed to control the host vehicle to follow the optimal trajectory
during a complete stop. Smooth response was achieved by introducing saturation function
instead of the sign function. For the starting motion, the optimal trajectory was utilized by
a virtual lead vehicle to better react to a slow lead vehicle.
Interior point method and Lemke algorithm were studied as the methods to solve the
optimization problem. The interior point method showed faster performance than the Lemke
algorithm when the size of the problem was large. Also, the interim solutions of the interior
point method were feasible. However, the Lemke algorithm was faster than the interior point
method when the size of the problem was small and the calculation time was almost linear
to the size of the problem.
To solve the optimization problem in real time, a multi-resolution formulation was sug-
gested to reduce the problem size and shorten the calculation time. The multi-resolution
formulation was utilized to calculate the optimal trajectory in real time for sliding con-
troller. With the sliding controller, the host vehicle stopped completely faster than with a
PID controller whose desired relative distance was calculated by the constant time-headway
policy.
87
Chapter 5
5.1 Introduction
Cooperative Adaptive Cruise Control(CACC) is an enhanced version of the ACC. The main
di↵erence of the CACC from the ACC is that CACC utilizes communication between the
vehicles and/or between the vehicle and the road structure. This communication allows the
control system on any single vehicle to get information about other vehicles in the platoon
like the acceleration, the velocity, the throttle control command, and the brake control
command. Recently, various research have been done about the CACC in the area of traffic
control and communication. Many previous research show that the CACC has the potential
to improve both the traffic flow [3] and the string stability [33].
Many existing research on the CACC system follow a hierarchical controller structure
where the system consists of an upper lever controller and a lower level controller [8]. The
upper level controller determines the desired acceleration based on the information acquired
from the sensors and through inter vehicle communications. Based on the desired accelera-
tion, the lower level controller determines the throttle and/or brake control command. Most
of the research about the CACC have been focused on designing the upper level control.
One approach for the longitudinal control of the CACC is utilizing the front vehicle
acceleration in the feedforward controller [3, 33, 43]. Another approach is building a world
model based on the information from multiple vehicles and find an appropriate acceleration
command based on the world model [8, 25, 40]. In existing studies, the accelerations were
determined either based on the states of the lead vehicle which causes the largest potential
danger [8], or from a learning algorithm [25]. Another longitudinal control approach was to
find the desired acceleration based on the velocity and the distance errors from some vehicles
in the upstream of the vehicle string [45]. The CACC is also used for the lateral control and
the case when the vehicles merge in intersections [40, 61, 19].
In this chapter, only the longitudinal control problem will be considered. Instead of
utilizing only the front vehicle acceleration or determining the desired acceleration based on
the largest potential danger, the vehicle platoon itself is considered as a single system whose
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 88
inputs are the accelerations of all the vehicles in the platoon. In Section 2.4, the Linear
Quadratic optimal control problem was solved to find the feedback gains. In this chapter, a
vehicle platoon is modeled as a set of double integrator and the LQ problem is solved. As a
result, the optimal feedback control law is a state feedback control law where the states are
the relative positions and velocities of all vehicles in the platoon.
When the vehicle platoon is considered as a single system, cutting in and out of vehicles
can be an issue. Virtual lead vehicle scheme was studied in Section 3 in case of a single host
vehicle. The virtual lead vehicle scheme is also utilizable in case of a vehicle platoon. Instead
of utilizing the actual relative distance, the relative distance to the virtual lead vehicle is
utilized when a vehicle cuts in or out to prevent a sudden acceleration and deceleration.
Each vehicle in a platoon can measure the relative distance to the front vehicle and its own
velocity. However, the other relative distances and velocities should be transmitted through
wireless communication networks. In this chapter, only vehicle-to-vehicle communication will
be considered and it will be assumed that there is no communication between the vehicles
and the road structure. The information shared by each vehicle will be the relative distance
to the lead vehicle, the velocity of the lead vehicle, and the velocity and the acceleration of
itself. The wireless network, however, is usually lossy and it is not guaranteed that all the
data are communicated for every single control time step. In this chapter, various control
schemes when the data are lost are compared by simulations.
This chapter is organized as follows. In Section 5.2, an LQ optimal control problem is
solved for a vehicle platoon to find feedback control gains. In Section 5.3, the virtual lead
vehicle scheme is utilized to control the platoon react smoothly to cutting in or out vehicles.
In Section 5.4, packet loss during wireless communications is considered and various control
scheme are compared by simulations. Section 5.6 summarizes the chapter.
2 3
xl (t) x1 (t)
6 x1 (t) x2 (t) 7
6 .. 7
6 7
6 . 7
6 7
6 x 2 (t) xN 1 (t) 7
X(t) = 6 N 7 (5.3)
6 vl (t) 7
6 7
6 v1 (t) 7
6 .. 7
4 . 5
vN 1 (t)
⇥ ⇤T
U (t) = al (t) a1 (t) · · · aN 1 (t) (5.4)
2 3
thw v1 (t) (xl (t) x1 (t))
6 .. 7
Y (t) = 4 . 5 (5.5)
thw vN 1 (t) (xN 2 (t) xN 1 (t))
2 3
1 1 0 ··· 0
6 . .. 7
6 0(N 1)⇥(N 1)
0 1 1 .. . 7
6 .. ... ... ... 7
A = 6 . 0 7 (5.6)
6 7
4 0 ··· 0 1 1 5
0N ⇥(N 1) 0N ⇥N
0(N 1)⇥N
B = (5.7)
IN ⇥N
⇥ ⇤
C = I(N 1)⇥(N 1) 0(N 1)⇥1 thw I(N 1)⇥(N 1) (5.8)
where xi , vi , and ai are the position, the velocity, and the acceleration of the ith vehicle.
where is a design parameter to tune. The number ✏c is a very small number that can be
further increased depending on the available computational resolution. The state feedback
control law is given as:
U (t) = R 1 B T P+ X(t) = KX(t) (5.12)
where P+ is the positive definite solution of the algebraic Riccati equation
AT P + P A P BR 1 B T P + C T C = 0 (5.13)
11
10
9
velocity[m/s]
7
lead
#1
6 #2
#3
#4
5
#5
4
0 10 20 30 40 50
time[sec]
Figure 5.1: Simulation results with LQ controllers: velocity (solid lines: with CACC, dashed
lines: with ACC)
velocities with the ACC and CACC are very similar, however the errors are di↵erent as shown
in Figures 5.2. As shown in Figure 5.2, the peak error of the vehicle #1 is reduced with the
CACC compared to the result with the ACC. As described before, the CACC additionally
considered the velocities and the relative distances of other vehicles in the platoon. That
makes the vehicle react faster and the errors of the remaining vehicles are more negative
when the lead vehicle decelerates and more positive when the lead vehicle accelerates while
the errors with the ACC system is the opposite. Negative error means that the relative
distance to the front vehicle is longer than the desired distance and hence is more desirable
and safer than a positive error especially when the lead vehicle is decelerating. When the
lead vehicle is accelerating, safety is not a big issue and positive error is acceptable and also
desirable since it means faster reaction. In other words, it is better for the sign of the error
to be the same with the sign of the lead vehicle acceleration. Figure 5.3 shows the plot of
the product of the error and the lead vehicle acceleration. As shown in the figure, with the
CACC the values are positive in most of time while the values are mostly negative with the
ACC.
0.015
#1
#2
#3
0.01
#4
#5
0.005
error[m]
−0.005
−0.01
−0.015
0 10 20 30 40 50
time[sec]
Figure 5.2: Simulation results with LQ controllers: error (solid lines: with CACC, dashed
lines: with ACC)
0.015
#1
#2
#3
0.01
#4
#5
error * acclead [m2/sec2]
0.005
−0.005
−0.01
−0.015
0 10 20 30 40 50
time[sec]
Figure 5.3: Simulation results with LQ controllers: product of the error and the lead vehicle
acceleration (solid lines: with CACC, dashed lines: with ACC)
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 93
15
lead
1
2
14
3
4
5
13
velocity[m/s]
12
11
10
9
0 10 20 30 40 50
time[sec]
Figure 5.4: Simulation results when a vehicle cuts out from the platoon
the platoon, there is a sudden change in the states of the platoon and that can cause some
undesirable acceleration or deceleration if there is no proper transient control scheme. As
shown in Section 3, the virtual lead vehicle scheme is useful for a single vehicle ACC system
when the lead vehicle cuts out or another vehicle cuts in between the host and the lead
vehicles. In this section, the virtual lead vehicle scheme is utilized for smooth transient
motion control when a vehicle cuts in to or out from the platoon.
Lead%
#1%
#2%
#3%
#4%
#5%
Since the relative distance x2 (t) x4 (t) is very large when the cutting out happens, the
vehicle #4 accelerates and #2 decelerates to reduce the relative distance. To prevent this, the
virtual lead vehicle scheme is introduced. Let xv,i (t) the position of the virtual lead vehicle
followed by the vehicle #i. Assuming that the initial positions and the initial velocities of
the virtual lead vehicles are the same with those of the actual lead vehicles, (5.15) can be
represented as: 2 3 2 3
xl (t) x1 (t) xv,1 (t) x1 (t)
6 x1 (t) x2 (t) 7 6 xv,2 (t) x2 (t) 7
6 7 6 7
6 x2 (t) x3 (t) 7 6 xv,3 (t) x3 (t) 7
6 7 6 7
6 x3 (t) x4 (t) 7 6 xv,4 (t) x4 (t) 7
6 7 6 7
6 x4 (t) x5 (t) 7 6 xv,5 (t) x5 (t) 7
6 7 6 7
X(t) = 66 v l (t) 7=6
7 6 v l (t) 7
7 (5.17)
6 v (t) 7 6 v (t) 7
6 1 7 6 1 7
6 v (t) 7 6 v (t) 7
6 2 7 6 2 7
6 v (t) 7 6 v (t) 7
6 3 7 6 3 7
4 v4 (t) 5 4 v4 (t) 5
v5 (t) v5 (t)
Similarly, the new state (5.16) is also represented as:
2 3
xv,1 (t) x1 (t)
6 xv,2 (t) x2 (t) 7
6 7
6 xv,4 (t) x4 (t) 7
6 7
6 xv,5 (t) x5 (t) 7
6 7
X(t) = 6 6 vl (t) 7
7 (5.18)
6 v1 (t) 7
6 7
6 v2 (t) 7
6 7
4 v4 (t) 5
v5 (t)
Comparing (5.16) and (5.18), with the virtual lead vehicle scheme only the relative dis-
tances between the virtual lead vehicles and the host vehicles are utilized. That prevents
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 96
the sudden change of the relative distance is the state and makes the state to be continuous
if the virtual lead vehicle is properly controlled to merge to the actual lead vehicle smoothly
when a vehicle cuts in or out.
12
lead
1
2
11.5
3
4
5
11
velocity[m/s]
10.5
10
9.5
9
0 10 20 30 40 50
time[sec]
Figure 5.6: Simulation results when a vehicle cuts out from the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle
12
lead
1
2
3
11.5 4
5
11
velocity[m/s]
10.5
10
9.5
9
0 10 20 30 40 50 60 70 80 90 100
time[sec]
Figure 5.7: Simulation results when two vehicles cut out from the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 98
1200
lead
1
2
1000
3
4
5
800
position[m]
600
400
200
0
0 10 20 30 40 50 60 70 80 90 100
time[sec]
Figure 5.8: Simulation results when two vehicles cut out from the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle
Lead%
#1%
#2%
#3%
#4%
#5%
11
10
9
velocity[m/s]
lead
1
8
2
3
4
5
7
5
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Figure 5.10: Simulation results without the virtual lead vehicle when a vehicle cuts into the
platoon
11
10.5
10
9.5
9
velocity[m/s]
8.5
8 lead
1
2
7.5
3
4
7 5
6.5
6
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Figure 5.11: Simulation results when a vehicle cuts into the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 100
600
500
400
position[m]
300
lead
200 1
2
3
4
100
5
0
0 5 10 15 20 25 30 35 40 45 50
time[sec]
Figure 5.12: Simulation results when a vehicle cuts into the platoon (Solid line: Actual
vehicle, Dashed line: Virtual lead vehicle
membership functions depend on the error of the virtual lead vehicles. However, this scheme
makes the control structure complicated while showing little performance improvement. As
shown in the previous simulation results, the discontinuities are hardly shown when cutting
in or out occurs and will be ignored in this thesis.
the lead and the host vehicles and are usually important. Since the data which can be lost
in the wireless network are far less important, it can be ignored or be given a minimum level
of attention to compensate the data loss. In this section, various control and estimation
schemes are suggested and compared by simulations.
For Case 1, vj (k) can be transmitted from the j th and j + 1th vehicles to the ith vehicle.
vj (k) is set to be zero only if both i,j and i,j+1 are zeros. For Case 2, the desired acceleration
is set to be zero when any of the data are lost. For Case 3, if any of the data are lost during
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 102
0.1
Case 2
Case 3
0.05 Case 4
no loss
ACC
0
−0.05
error[m]
−0.1
−0.15
−0.2
−0.25
0 10 20 30 40 50
time[sec]
Figure 5.13: Simulation results over lossy network: error for vehicle #1
the transmission, the ACC control law is utilized instead of the CACC. It is possible since
all the data used in the ACC control law are measurable with the sensors in the ith vehicle.
For Case 4, the state is estimated by X̂ o (k + 1) = (A BK)X̂(k) and X̂(k + 1) is updated
by replacing the elements of a-priori estimate X̂ o (k + 1) with the data measured by sensors
or transmitted successfully through the network.
0.06
Case 2
Case 3
Case 4
0.04
no loss
ACC
0.02
error[m]
−0.02
−0.04
−0.06
0 10 20 30 40 50
time[sec]
Figure 5.14: Simulation results over lossy network: error for vehicle #2
0.06
Case 2
Case 3
Case 4
0.04
no loss
ACC
0.02
error[m]
−0.02
−0.04
−0.06
0 10 20 30 40 50
time[sec]
Figure 5.15: Simulation results over lossy network: error for vehicle #3
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 104
0.05
Case 2
0.04 Case 3
Case 4
no loss
0.03 ACC
0.02
0.01
error[m]
−0.01
−0.02
−0.03
−0.04
0 10 20 30 40 50
time[sec]
Figure 5.16: Simulation results over lossy network: error for vehicle #4
0.05
Case 2
0.04 Case 3
Case 4
0.03 no loss
ACC
0.02
0.01
error[m]
−0.01
−0.02
−0.03
−0.04
−0.05
0 10 20 30 40 50
time[sec]
Figure 5.17: Simulation results over lossy network: error for vehicle #5
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 105
0.01
Case 3
0.008 Case 4
no loss
0.006 ACC
0.004
0.002
error[m]
−0.002
−0.004
−0.006
−0.008
−0.01
0 10 20 30 40 50
time[sec]
Figure 5.18: Simulation results over lossy network with ¯ = 0.50: error for vehicle #3
acceleration. As described before, the error with the opposite sign with the lead vehicle
acceleration is the benefit of the CACC which considers the errors of the front vehicles in
the platoon. In Case 3, the vehicle only utilizes the measurement and does not consider
the error in front when the data are lost. This reduces the e↵ect of CACC and fortunately
reduces the magnitude of the error.
However it is not guaranteed that the performance of Case 3 is better than CACC without
any data loss when the data loss rate is larger. Figure 5.18 shows the simulation result with
a worse loss rate. The loss rate is 50% in the simulation. When the loss rate is higher, Case
3 loses the benefit of the CACC system and the error has the same sign with the lead vehicle
acceleration while Case 4 still shows similar performance with the CACC without data loss.
of the most popular estimation scheme when the data are contaminated by noise. It can
consider the di↵erent noise covariances and find the optimal state estimation.
Problem Description
The system model is basically the same with the model used in Section 5.2. However, process
noises and measurement noises are introduced. Also, as described before, it is assumed that
the velocity of the j th vehicle is measured by the j th vehicle with encoders and by the j + 1th
vehicle with radar. Considering the data loss, the discrete time state space equations are
considered as:
2 3
xl (k) x1 (k)
6 x1 (k) x2 (k) 7
6 .. 7
6 7
6 . 7
6 7
6 x 2 (k) xN 1 (k) 7
X(k) = 6 N 7 (5.23)
6 vl (k) 7
6 7
6 v1 (k) 7
6 .. 7
4 . 5
vN 1 (k)
⇥ ⇤T
U (k) = al (k) a1 (k) · · · aN 1 (k) (5.24)
2 3T
xl (k) x1 (k)
6 .. 7
6 . 7
6 7
6 xN 2 (k) xN 1 (k) 7
6 7
6 v1 (k) 7
6 . 7
Y (k) = 6
6 .. 7
7 (5.25)
6 v (k) 7
6 N 1 7
6 vl (k) 7
6 7
6 . 7
4 .. 5
vN 2 (k)
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 107
⇥ ⇤T
W (k) = wl (k) w1 (k) · · · wN 1 (k) (5.26)
2 3
vr,d,1 (k)
6 .. 7
6 . 7
6 7
6 vr,d,N 1 (k) 7
6 7
6 ve,1 (k) 7
6 .. 7
V (k) = 6
6 . 7
7 (5.27)
6 v 7
6 e,N 1 (k) 7
6 v (k) 7
6 r,v,1 7
6 .. 7
4 . 5
vr,v,N 1 (k)
(5.28)
where wi is the process noises for the ith vehicle. vr,d,i , vr,v,i , and ve,i are the measurement
noises of the distance measurement by the radar, the front vehicle velocity measurement by
the radar, and the host vehicle velocity measurement by the encoder in ith vehicle, respec-
tively.
The state space matrices are given as:
2 3
t t 0 ··· 0
6 . .. 7
6 I(N 1)⇥(N 1) 0 t t .. . 7
6 . . . . 7
A = 6 .. .. .. .. 0 7 (5.29)
6 7
4 0 ··· 0 t t 5
0N ⇥(N 1) IN ⇥N
2 1 2 1 3
2
t 2
t2 0 ··· 0
6 1 1 ... .. 7
6 0 2
t2 2
t2 . 7
6 .. .. .. .. 7
B = Bw = 6 . . . . 0 7 (5.30)
6 7
4 0 ··· 0 1
t2 1
t2 5
2 2
tIN ⇥N
2 3
I(N 1)⇥(N 1) 0(N 1)⇥N
C = 4 0(N 1)⇥1 I(N 1)⇥(N 1)
5 (5.31)
02(N 1)⇥(N 1)
I(N 1)⇥(N 1) 0(N 1)⇥1
In this thesis, the noises are assumed to be stationary zero mean white and independent
to each other. Also, the covariances of radar measurement noises are assumed to be larger
than the encoder measurement noises.
Kalman Filter
The standard a-posteriori Kalman Filter equations are:
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 108
0.04
KF w/o loss
0.03 ACC
CACC w/KF
Case 3
0.02
0.01
0
error[m]
−0.01
−0.02
−0.03
−0.04
−0.05
0 10 20 30 40 50
time[sec]
Figure 5.19: Simulation results with Kalman Filter over lossy network: error for vehicle #1
0.025
KF w/o loss
0.02 ACC
CACC w/KF
0.015 Case 3
0.01
0.005
error[m]
−0.005
−0.01
−0.015
−0.02
−0.025
0 10 20 30 40 50
time[sec]
Figure 5.20: Simulation results with Kalman Filter over lossy network: error for vehicle #2
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 110
0.015
0.01
0.005
0
error[m]
−0.005
−0.01
KF w/o loss
ACC
−0.015
CACC w/KF
Case 3
−0.02
0 10 20 30 40 50
time[sec]
Figure 5.21: Simulation results with Kalman Filter over lossy network: error for vehicle #3
0.02
KF w/o loss
ACC
0.015 CACC w/KF
Case 3
0.01
0.005
error[m]
−0.005
−0.01
−0.015
−0.02
0 10 20 30 40 50
time[sec]
Figure 5.22: Simulation results with Kalman Filter over lossy network: error for vehicle #4
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 111
0.025
KF w/o loss
0.02 ACC
CACC w/KF
Case 3
0.015
0.01
0.005
error[m]
−0.005
−0.01
−0.015
−0.02
0 10 20 30 40 50
time[sec]
Figure 5.23: Simulation results with Kalman Filter over lossy network: error for vehicle #5
0.025
KF w/o loss
0.02 ACC
CACC w/KF
0.015 Case 3
0.01
0.005
error[m]
−0.005
−0.01
−0.015
−0.02
−0.025
0 10 20 30 40 50
time[sec]
Figure 5.24: Simulation results with Kalman Filter over lossy network with ¯ = 0.50: error
for vehicle #3
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 112
5.6 Summary
In this chapter, the Cooperative Adaptive Cruise Control(CACC) system which utilizes the
vehicle-to-vehicle wireless communication was studied. A Linear Quadratic (LQ) optimal
control problem was formulated for a platoon of vehicles and solved to find the optimal
state feedback control law. The performance of the CACC system were compared to the
ACC system via simulations. The CACC system additionally utilized the error of the front
vehicles in the platoon and reacted faster to the lead vehicle acceleration. As a result, the
error with the CACC system had the same sign with the lead vehicle acceleration which
means safer performance when the lead vehicle decelerates and faster when the lead vehicle
accelerates.
The virtual lead vehicle scheme was also utilized in case of the CACC system. Without
the virtual lead vehicle scheme, the following vehicles accelerated suddenly and also the ve-
hicle in front decelerated to compensate the sudden large step change of the error when a
vehicle cuts out from the platoon. Similar result was shown when a vehicle cuts into the pla-
toon. With the virtual lead vehicle scheme, the acceleration or deceleration of the following
vehicles were decreased and the front vehicle did not decelerate or accelerate unnecessarily.
CHAPTER 5. COOPERATIVE ADAPTIVE CRUISE CONTROL 113
Since the wireless network, which is lossy, is utilized in the CACC, control schemes when
the data are lost during the transmission were studied. 4 di↵erent control schemes were
compared via simulations. The scheme in which the ACC control law was utilized when
the data were lost and the CACC law was utilized when no data were lost showed the best
performance with a low data loss rate. However the performance worsened as the loss rate
was increased. When the lost data were estimated from the linear closed loop model, the
performance was similar to the case when no data were lost. Also the estimation scheme
showed more robust performance when the loss rate was increased. A Kalman Filter was
introduced for the case when the measurement data were contaminated by noise and showed
similar performance with the case when no data were lost.
114
Chapter 6
were utilized in the sliding control for the stopping motion and in the virtual lead vehicle
scheme for the starting motion.
When considering the engine/brake dynamics, an appropriate scheme for switching be-
tween the engine and the brake should be studied. Since the ACC system is highly related
to the comfort of the passengers, frequent switchings between the engine and the brake are
undesirable. A fuzzy controller which can imitate the driver’s habit can be a good candidate
for the switching logic.
Bibliography
[1] T. Acarman, Y. Liu, and U. Ozguner. “Intelligent cruise control stop and go with and
without communication”. In: Proceedings of the 2006 American Control Conference
(2006).
[2] K. Ahn et al. “Microscopic Fuel Consumption and Emission Models”. In: Proceedings
of the 78th Annual Meeting of the Transportation Research Board (1999).
[3] B. Arem, C. Driel, and R. Visser. “The impact of cooperative adaptive cruise control
on traffic-flow characteristics”. In: IEEE Transactions on Intelligent Transportation
Systems 7.4 (2006).
[4] V. Bageshwar, W. Garrard, and R. Rajamani. “Model Predictive Control of Transi-
tional Maneuvers for Adaptive Cruise Control Vehicles”. In: IEEE Transactions on
Vehicle Technology 53.5 (2004), pp. 1573–1585.
[5] D. Bertsekas. Nonlinear Programming. Athena Scientific, 1999.
[6] Y. Bin et al. “Longitudinal acceleration tracking control of vehicular stop-and-go cruise
control system”. In: Proceedings of the 2004 IEEE Internation Conference on Network-
ing, Sensing & Control (2004).
[7] S. Boyd and L. Vandenberghe. Convex Optimization. Cambridge, 2004.
[8] D. Bruin et al. “Design and test of a cooperative adaptive cruise control system”. In:
IEEE Intelligent Vehicles Symposium (2004).
[9] D. Cho and J.K. Hedrick. “Automotive powertrain modeling for conrol”. In: ASME
Journal of Dynamic Systems, Measurement and Control 111 (1989), pp. 568–576.
[10] S.C. Davis, S.W. Diegel, and R.G. Boundy. Transportation Energy Data Book: Edition
30. Oak Ridge National Laboratory, 2011.
[11] Z. Eizad and L. Vlacic. “A control algorithm and vehicle model for stop & go cruise
control”. In: IEEE Intelligent Vehicles Symposium (2004).
[12] R. Fletcher. Practical Methods of Optimization. Wiley, 1987.
[13] J. Gerdes. “Decoupled design of robust controllers for nonlinear systems: as motivated
by and applied to coordinated throttle and brake control for automated highways”. In:
PhD Dissertation, University of California, Berkeley (1996).
BIBLIOGRAPHY 118
[14] V. Gupta et al. “Optimal LQG control across a packet-dropping link”. In: Systems
Control Lett. (2005).
[15] C.N. Hadjicostis and R. Touri. “Feedback contol utilizing packet dropping network
links”. In: Proc. IEEE Conf. Decision and Control 2 (2002), pp. 1205–1210.
[16] S. Ibaraki and M. Tomizuka. “H optimization of fixed structure controller”. In: Proc.
Of the 2000 International Mechanical Engineering Congress and Exposition (2001).
[17] S. Ibaraki and M. Tomizuka. “Tuning of a hard disk drive servo controller using fixed-
structure H controller optimization”. In: Journal of Dynamic Systems, Measurement,
and Control 123 (2001), pp. 31–55.
[18] P. Ioannou and C.C. Chien. “Intelligent Cruise Control”. In: IEEE Trans. on Vehicular
Technology 42.4 (1993), pp. 657–672.
[19] S. Kata et al. “Vehicle control algorithms for cooperative driving with automated ve-
hicles and intervehicle communications”. In: IEEE Transactions on Intelligent Trans-
portation Systems 3.3 (2002).
[20] S.G. Kim, M. Tomizuka, and K.H. Cheng. “Mode Switching and Smooth Motion Gen-
eration of the Adaptive Cruise Control System by a Virtual Lead Vehicle”. In: IFAC
Symposium on Control in Transportation Systems (2009).
[21] S.G. Kim, M. Tomizuka, and K.H. Cheng. “Smooth Motion Control of the Adaptive
Cruise Control System with Linear Quadratic Control with Variable Weights”. In:
ASME Dynamic Systems and Control Conference (DSCC) (2010).
[22] S.L. Koo, H.S. Tan, and M. Tomizuka. “Impact of Tire Compliance Behavior to Vehicle
Longitudinal Dynamics and Control”. In: American Control Conference (2007).
[23] H. Kwakernaak and R. Sivan. Linear Optimal Control Systems. New York: Wiley-
Interscience, 1972.
[24] YD. Landau. System identification and control design. Englewood Cli↵s, NJ: Prentice
Hall, 1990.
[25] J. Laumonier, C. Desjardins, and B. Chaib-draa. “Cooperative adaptive cruise control:
a reinforcement learning approach.” In: in Proceedings of 4th Workshop on Agents in
Traffic And Transportation, AAMAS’06 (2006).
[26] Q. Ling and M. Lemmon. “Optimal dropout compensation in networked control sys-
tems”. In: IEEE Conf. Decision and Control (2003).
[27] P. Lingman and B. Schmidtbauer. “Road slope and vehicle mass estimation using
Kalman filtering”. In: Vehicle System Dynamics 37 supp. (2003), pp. 12–23.
[28] J.J. Martinez and C. Canudas-de Wit. “A safe longitudinal control for adaptive cruise
control and stop-and-go scenarios”. In: IEEE Transactions on Control Systems Tech-
nology 15.2 (2007), pp. 246–258.
BIBLIOGRAPHY 119
[29] J.P. Maurice and H.B. Pacejka. “Relaxation length behavior of tyres”. In: Vehicle
system dynamics 27 supplement (1997).
[30] T. Nagata and M. Tomizuka. “Engine torque control based on discrete event model
and disturbance observer”. In: Proceedings of the ASME Int. Mech, Eng, Congr. Expo.
(2007).
[31] T. Nagata and M. Tomizuka. “Robust engine torque control by discrete event distur-
bance observer”. In: Proceedings of the 17th IFAC World Congress (2008).
[32] J.E. Naranjo et al. “ACC+Stop&Go maneuvers with throttle and brake fuzzy control”.
In: IEEE Transactions on Intelligent Transportation Systems 7.2 (2006).
[33] G. Naus et al. “Cooperative adaptive cruise control, design and experiments”. In:
American Control Conference (2010).
[34] G. Naus et al. “Explicit MPC design and performance evaluation of an ACC Stop-&-
Go”. In: Proceedings of the 2008 American Control Conference (2008).
[35] J. Nilsson. “Real-time control systems with delays”. In: Ph.D. dissertation, Dept. Au-
tomatic Control, Lund Inst. Technol. (1998).
[36] J. Nilsson, B. Bernhardsson, and B. Wittenmark. “Stochastic analysis and control of
real-time systems with random time delays”. In: Automatica 34.1 (1998), pp. 57–64.
[37] K. Ohnishi. “A new servo method in mechatronics”. In: Transaction of Japanese So-
ciety of Electrical Engineering 107-D (1987), pp. 83–86.
[38] H. Ohtsuka and L. Vlacic. “Stop & Go vehicle longitudinal model”. In: IEEE 5th
International Conference on Intelligent Transportation Systems (2002).
[39] H.B. Pacejka. Tire and vehicle dynamics. Oxford: Society of Automotive Engineers /
Butterworth-Hienemann, 2002.
[40] Z. Papp, C. Brown, and C. Bartels. “World modeling for cooperative intelligent vehi-
cles”. In: IEEE Intelligent Vehicles Symposium (2008).
[41] M. Persson et al. “Stop & Go controller for adaptive cruise control”. In: Proceedings
of the 2004 IEEE Internation Conference on Control Applications (1999).
[42] R. Rajamani. Vehicle Dynamics and Control. Springer, 2006.
[43] R. Rajamani and S.E. Shladover. “An experimental comparative study of autonomous
and co-operative vehicle-follower control systems”. In: Journal of Transportation Re-
search, Part C Emerging Technologies 9.1 (2001), pp. 15–31.
[44] A. Said and W.A. Pearlman. “An image multiresolution representation for lossless and
lossy compression”. In: IEEE Transaction on Image Processing 5.9 (1996).
[45] J. Schakel, B. Arem, and B. Netten. “E↵ects of cooperative adaptive cruise control on
traffic flow stability”. In: 13th International IEEE Annual Conference on Intelligent
Transportation Systems (2010).
BIBLIOGRAPHY 120
[46] L. Schenato et al. “Foundations of Control and Estimation Over Lossy Networks”. In:
Proceedings of IEEE 95.1 (2007), pp. 163–187.
[47] S. Sheikholeslam and C.A. Desoer. “Longitudinal control of a platoon of vehicles”. In:
Proc. of 1990 American Control Conference (1990), pp. 291–296.
[48] J.-J. E. Slotine and W. Li. Applied Nonlinear Control. Prentice Hall, 1991.
[49] S. Smith and P. Seiler. “Estimation with lossy measurements: Jump estimators for
jump systems”. In: IEEE Trans. Autom. Control 48.12 (2003), pp. 1453–1464.
[50] H. Stearns, S. Mishra, and M. Tomizuka. “Iterative tuning of feedforward controller
with force ripple compensation for wafer stage”. In: Advanced Motion Control, 2008.
10th IEEE International Workshop (2008).
[51] Y. Takae et al. “A study of drivers’ trust in a low-speed following system”. In: SAE
Technical Paper doi:10.4271/2005-01-0430 (2005).
[52] T. Takizawa et al. “Load measuring device for rolling bearing unit and load measuring
rolling bearing unit”. In: U.S. Patent 7 320 257 (2008).
[53] C.K.W. Tam and K.A. Kurbatskii. “Multi-size-meshmulti-time-step dispersion-relation-
preserving scheme for multiple-scales aeroacoustics problems”. In: International Jour-
nal of Computational Fluid Dynamics 17 (2003), pp. 119–132.
[54] H.S. Tan, R. Rajamani, and W.B. Zhang. “Demonstration of an automated highway
platoon system”. In: Proc. of 1998 American Control Conference 3 (1998), pp. 1823–
1827.
[55] T. Umeno and Y. Hori. “Robust speed control of DC servomotors using modern two
degrees of freedom controller design”. In: IEEE Transactions on Industrial electronics
38.5 (1991), pp. 363–368.
[56] A. Vahidi and A. Eskandarianm. “Research Advances in Intelligent Collision Avoidance
and Adaptive Cruise Control”. In: IEEE Transactions on Intelligent Transportation
Systems 4.3 (2003), pp. 143–153.
[57] A. Vahidi, A. Stefanopoulou, and H. Peng. “Recursive least squares with forgetting for
online estimation of vehicle mass and road grade: theory and experiments”. In: Vehicle
System Dynamics 43.1 (2005), pp. 31–55.
[58] P. Venhovens, K. Naab, and B. Adiprasito. “Stop and Go Cruise Control”. In: Inter-
nation Journal of Automotive Technology 1.2 (2000), pp. 61–69.
[59] V. Winstead and V. Kolmanovsky. “Estimation of road grade and vehicle mass via
model predictive control”. In: Proceedings of the 2005 IEEE Conference on Control
Applications (2005).
[60] J.Y. Wong. Theory of ground vehicles. 2nd. John Wiley and Sons, Inc., 1993.
[61] Q. Xu et al. “E↵ects of vehicle-vehicle/ roadside-vehicle communication on adpative
cruise controlled highway systems”. In: IEEE 56th In Vehicular Technology Conference,
2002. Proceedings. VTC 2002-Fall 2 (2002), pp. 1249–1253.
BIBLIOGRAPHY 121