首页 > > 详细

讲解 EEE203 Signals and Systems I Lab: Turn on the Cruise Control讲解 Matlab语言

EEE203 Signals and Systems I

Lab: Turn on the Cruise Control

Your friend Bob needs your help to design a cruise control system for his car. He drives a Toyota Corolla that weighs 1300 kg (2866 lbs). He wants to accelerate his car from stationary to within 2% of 18 m/s (40 mph) under 5 second and then maintain the 18 m/s speed with less than 2% error. Given Bob lives on a street that has a 40 mph speed limit, he doesn’t want his car to ever go beyond 45 mph because he doesn’t want to get a speeding ticket.

To help Bob with his cruise control, let’s first understand how a cruise control works, which is a classic control system. The objective of any control system is to change the dynamics of the given system to be able to achieve a desired response. This is typically done by means of a feedback connection of a

controller to a plant, as shown in Figure 1. The plant is a system such as a motor, a chemical plant, or an automobile we would like to control so that it responds in a certain way. The controller is a system we design to make the plant follow a prescribed input or reference signal. By feeding back the response of the system to the input, it can be determined how the plant responds to the controller. The commonly used negative feedback generates an error signal that permits us to judge the performance of the controller.

Figure 1. Block diagram of a closed-loop negative feedback control system

In classic linear control, the transfer function, i.e., the Laplace transform. of its impulse response, of the plant we wish to control is available; let us call it HP(s). The controller, with a transfer function Hc (s), is designed to make the output of the overall system perform in a specified way. For instance, in a cruise control system, the plant is the car, and the desired performance is to automatically set the speed of the car to a desired value. In Figure 1, x(t) is the desired output. Suppose we want to keep the speed of the  car at V0 miles per hour for t ≥ 0, then x(t) = V0u(t).  v(t) is the actual output, i.e., the actual speed of the car. The difference between the two e(t) = x(t) 一 v(t) is the error signal and the input to the controller. Given the error signal, the controller generates a control signal C(t) as the plant input.

The transfer function of the plant, i.e., the model for a car in motion, can be derived by the free body diagram shown in Figure 2.

Figure 2. Free body diagram of a car in motion

In the simplified model shown in Figure 2, the control force u is generated at the road-tire interface; the resistive forces due to rolling resistance and wind drag are assumed to vary linearly with the car speed v, and have the value of bv, where b is the damping coefficient. Assuming the mass of the car is m, by applying Newton’s 2nd  Law, the following equation is derived to describe the input u and output v of the model/system:

Taking Laplace transform. of both sides, we get the system transfer function:

with m being the mass of the car and b being the damping coefficient.

There are various possible controllers that are able to achieve this cruise control function. Let us consider a proportional plus integral (PI) controller with transfer function shown below. The first term of the controller is the “proportional” term, the second term is the “integral” term, and Kp and Ki are constants:

The values of Kp and Ki need to be tuned to achieve specific performance measures.

Lab Objectives:

1.    Get familiar with the terminology used in a feedback control system.

2.    Derive system transfer function for a feedback system. (We know how to derive a system transfer function for a serial or parallel system already.) Give a system input, derive system output.

3.    Practice tuning a PI controller. (The emphasis here is NOT to design a controller, which is a topic of a control system class. But to understand the choice of parameters in a controller will have impact on  the performance metrics of a control system, such as stability, how fast a steady state is reached, steady state error, and etc.)

Lab Tasks:

Submit your derivation, answer to questions, MATLAB script and plot in a signal PDF file.

1. Download the MATLAB script. “lab_cruise_control.m” . Assume the damping coefficient is 60 Ns/m.  Run the script. and experiment with different values for Kp and Ki. What are your values for Kp and Ki to satisfy Bob’s requirements?

a.    In the script, an example is shown to set up a feedback control system transfer function and test if the system is stable. Then the system is tested by applying a step function x(t) = V0u(t) at the input (the desired speed), the system output v(t) (the actual speed) can be observed to see if the controller works properly. Of course for the cruise control to work, the system output v(t) should approach V0, i.e., zero steady state error, however, there are also other attributes that are desirable, such as a fast transient time to reach steady state, zero oscillation, no large overshoot/undershoot, etc.

b.   Your task is to tune the PI controller, i.e., choose proper values of Kp and Ki by observing the step response characteristics to satisfy the following constraints: 1) the rise of speed from  0 m/s to within 2% of 18 m/s (40 mph) is under 5 second, 2) once speed increases to within 2% of 18 m/s, maintain speed in that range, 3) speed should never go over 45 mph (20.12 m/s) at any time.

2. Submit the MATLAB step response plot and the output of stepinfo. Explain how your controller’s characteristics satisfy Bob’s requirements. (Besides the output from stepinfo, it could be helpful to add a “Data Cursor” under “Tools” in the step response figure window to trace the data points and  see their values.)

3. Derive the system transfer function H(s) in terms of Hc (s) and Hp(s).  Given input x(t) = V0u(t),  if kp = ki  = m = b = 1, derive the expression for output y(t) and verify the steady state of y(t) is approaching V0 .

(Hint: see Textbook section 9.8.1 Figure 9.31 as an example on how to derive transfer function, note the example is different from the setup here. To get system output, use convolution property and inverse Laplace transform.)



联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!