B y:
Howard Hawks
[2]
Table of Contents
Introduction
Automobile cruise control has become a very common feature in todays
automobiles. With this feature a driver no longer has to sit with his or her foot
appropriately positioned over the accelerator to maintain a steady speed over long
periods of time and potentially hundreds of miles of road. Utilizing cruise control a
driver can sit in relative comfort for longer durations than was previously possible.
The modern idea of cruise control was credited to inventor Ralph Teeter who
received his first patent for an automotive speed control device in 1945 [3]. The name
cruise control, however, wasnt coined until several years later when Chrysler adopted
it in 1958 [3]. Today, cruise control is a standard feature on many vehicle models.
Advances in this technology have created an adaptive form of cruise control that
couples speed adjustment with radar sensing, which can adapt speed based on the
locations of other vehicles on the road.
The purpose of this project is to conceptually design a vehicle cruise control
system that can react to variations in input stimulus and maintain a constant vehicle
speed. There are a plethora of external factors that can be taken into consideration.
Some of these factors can be simplified to produce an accurate working model of the
system. External inputs such as drag due to wind speed, changing co-efficient of
friction, spring damping of vehicle suspension, gravitational forces due to slope
changes, vehicle momentum, brake drag and vehicle lift are all factors to that can affect
control performance in varying degrees.
In this paper the system model is designed conceptually and then the
conceptual design is transferred to Simulink to verify that the system output is as
predicted. MATLAB is another software tool that is used to aid in system design and is
used to help develop the system model transfer functions. Key performance indicators
such as response time, percent overshoot and steady state error are measured and
compared to the target values contained herein. Additionally, variations of the input
conditions such as different vehicle masses, changing friction dynamics and their
effect on the control paradigm are studied.
Steady state error was 0.01% in all three cases as external disturbances had
been minimized in the initial conditions. When external disturbances were modified, the
KPIs of %OS, Tp and Ts were re-evaluated without the steady state error calculation.
The results of these tabulations can be seen in Appendix B.
In the Parameter Optimization section I will present how varying input conditions
affect the KPIs of Rise Time, Percent Overshoot and Steady State Error. Through
simulation modeling I will then optimize the PID response to meet the three KPIs listed
above. By modifying the base parameter values I will attempt to improve upon the system
response presented in the original research paper.
Mathematical Model
Vehicle speed dynamics are governed by Newtons Law of Motion and can be
represented by the following equation: Fd=Mdv/dtv + Fa + Fg where Fd is the engine
drive force, M is the vehicle mass, dv/dtv is the inertia force of mass and velocity, Fa is
the aerodynamic drag and Fg is the climbing resistance and downgrade force.
The derivation of the transfer function is taken from the linearized model. By taking
the above listed constants and differentiating both sides of the state space equations,
the generalized transfer function becomes the ratio of dV/dU, where V is the vehicle
velocity input of the system and U is the speed response. This ratio is show below in
figure 3 [1]:
By using a power series expansion for e^-s and substituting back into the plant
transfer function the expression becomes easier to work with and is shown in Figure 4a
below [1]:
Performance Indicator
Target Design Value KPI priority
Settling Time (Ts)
< =5 seconds
One
Overshoot (%)
<=10%
Two
Table I: Key Performance Indicators for Cruise Control
Table II below shows the resulting values for the traditional Ziegler Nichols Open
Loop Response PID calculation as well as the Simulink nomenclature and calculation.
Based on the values obtained from the open loop response, I calculated N=25.88997
assuming the relationship between the coefficients to be 0.05.
Controller
Model
Kp
Ti
Td
PID
(1.2/K)*(/L)=1.6517
L/0.5=3.09
L/2=0.7725
P=Kp=1.6517
I=Kp/Ti=0.53453
D=Td
1/( * Td)
=25.88997
Simulink
Equivalent
Figure 7 shows the Simulink schematic of the PID controlled system. This, in
effect, demonstrates how a PID controller would be used as a cruise control on an
automobile. Note that for this simulation I increased the value of the step input to
represent 65 miles per hour, which equates to 29.057 meters per second.
11
Figure 8 below shows the resulting system output response. The vertical axis
represents meters per second and the horizontal axis represents time in seconds.
From the scope display we can see that the overshoot is about 24.7%, which exceeds
our KPI of %OS<10%. There was no window established in the referenced research
paper for settling time, which is the tolerance band on the vertical axis. Assuming this
tolerance to be +/-2%, which is the standard for DAC settling time measurements [6],
we can see that the response settles within this error band within 13.5 seconds. The
settling time exceeds our KPI by 8.5 seconds.
In order to optimize the response to meet our KPI goals we can try to fine tune the
PID controller parameters. Since there was no KPI for Tr, which represents the rise
time of the system, we can consider changing the proportional and integral portions of
the control. By reducing the integral control value we should see the overshoot
decrease, but we will need to monitor the settling time to ensure that it does not
increase.
12
13
Figure 11 shows a zoomed view of Figure 10 around the KPI target value of five
seconds. In order to obtain Ts<=5 with the step magnitude of 29.2 meters per second
and a 2% error band, the settling time needs to be within 28.616 seconds and 29.784
seconds.
For the percent overshoot to fall within 10% of the input its maximum amplitude
must be less than 32.12 meters per second. Careful zooming of the scope display
allowed me to verify that both of these KPIs were now within the target values. You
can see in the zoomed in view of Figure 11 on the next page that the KPIs of Table I
have now been met.
14
Performance Indicator
Target Design Value KPI priority
Settling Time (Ts)
< =5 seconds
One
Overshoot (%)
<=10%
Two
Steady State Error (%)
<=1%
Three
Table III: Additional KPI of S.S.E. %)
We can see from the scaled output shown in Figure 12 that the steady state error
of the system is less than 0.5% at t=90 seconds. The steady state error is less than 1%
in less than 60 seconds, so this additional KPI has been met.
15
Figure 12: Steady State Error of System Output Response less than 0.5%.
Conclusion
It was demonstrated that a PID controller can help optimize the system response
of a cruise control system. Without PID control the Key Performance Factors of Settling
Time, Percent Overshoot and ultimately Steady State Error could not be met. Utilizing
a PID tuning methodology, such as the Ziegler Nichols method herein, drastically
reduces the time required to tune each of these controller variables as it gives an
optimal response curve for most general constraints. The new controller values
obtained through iterations of fine tuning the Ziegler Nichols calculated values are
shown in Table IV. These values were used to meet all of the KPI requirements set
forth in Table III above.
16
Controller
Model
Simulink Fine
Tune Values
Kp
Ti
Td
P=Kp=1.5
I=Kp/Ti=0.05
D=0.7725
1/( * Td)
=25.9
17
Bibliography
[1] Khairuddin Osman, Mohd Fuaad Rahmat, Mohd Ashraf Ahmad Modeling and
Controller Design for Cruise Control in 2009 5th International Colloquium on
Signal Processing and Its Applications (CSPA), pp. 254-258.
[2] Carnegie Mellon. 1997. Control Tutorial for MATLAB, Website of University of
Michigan. http://www.engin.umich.edu/group/ctm/examples/cruise/ccSS.html
[4] Lie, Karen Cruise Control System in Vehicle Calvin College, 2004.
[5] Chen, Chi-Tsong Linear System Theory and Design 4th Edition,
Oxford University Press 2013.
[6] Williams, Jim Application Note 120 Linear Technology, March 2010.
18
19
2.477
--------------------------------s^3 + 6.048 s^2 + 5.286 s + 0.238
ccss =
20
1.0000
21
22
23
24
25
26