CRUISE CONTROL CRUISE CONTROL SIMULATION USING MATLAB DR. AKEEL.A.LAMI HAIDAR ALKRAR SLMAN CRUISE CONTROL • Cruise control (speed control, auto-cruise or tempomat) is a system that automatically controls the speed of a motor vehicle. The system takes over the throttle of the car to maintain a steady speed as set by the driver. SYSTEM MODELLING • O feedback control system O purpose is to maintain a constant vehicle speed despite external disturbances, such as changes in wind or road grade. • O accomplished by i. measuring the vehicle speed ii. comparing it to the desired or reference speed iii. automatically adjusting the throttle according to a control law PHYSICAL SETUP: FBD u = force generated at the road/tire interface we will assume that: i. u can be controlled directly ii. the dynamics of the powertrain, tires, etc are 0 iii. bv, due to rolling resistance and wind drag varies linearly with the vehicle velocity, v, and act in the direction opposite the vehicle's motion • Mass m • Control force u • Resistive forces bv • Vehicle velocity v FIRST ORDER EQUATION • We are considering a first order mass-damper system. Summing forces in the x-direction and applying Newton's 2nd law, we arrive at the following system equation: m(dv/dt)+bv=u Since v is the required output: y=v TRANSFER FUNCTION • Taking the Laplace transform and assuming zero initial conditions, we find the transfer function of the cruise control system to be: P(s) = V(s)/U(s) = 1/(ms+b) PID CONTROL PARAMETERS O m vehicle mass 1000 kg O b damping coefficient 50 N.s/m O r reference speed 10 m/s O Rise time < 5 s O Overshoot < 10% O Steady-state error < 2% BLOCK DIAGRAM Unity gain feedback controller C(s) = Kp + Ki/s + Kd.s PROPORTIONAL CONTROL O The root-locus plot shows the locations of all possible closed-loop poles when a single gain is varied from zero to infinity. O Only a proportional controller Kp will be considered to solve this problem. The closed-loop transfer function becomes: Y(s)/R(s)=Kp/(ms+ (b + Kp)) PROPORTIONAL CONTROL O MATLAB command sgrid O Used to display an acceptable region of the root-locus plot O Damping ratio (zeta) and the natural frequency (Wn) need to be determined PROPORTIONAL CONTROL PROPORTIONAL CONTROL O We can then find a gain to place the closedloop poles in the desired region by employing the rlocfind command O specific loop gain [Kp,poles]=rlocfind(P_cruise) O In between the dotted lines (zeta > 0.6) and outside the semi-ellipse (wn > 0.36) LAG CONTROLLER O With the gain Kp being the only functional gain and Ki and Kd being zero, the rise time and the overshoot criteria have been met O A steady-state error of more than 10% remains O To reduce the steady-state error, a lag controller is added to the system LAG CONTROLLER O To reduce the steady-state error, a lag controller will be added to the system. O A pole and a zero, not too distant spacingwise are introduced i.e: LAG CONTROLLER O With the gain Kp being the only functional gain and Ki and Kd being zero, the rise time and the overshoot criteria have been met O A steady-state error of more than 10% remains O To reduce the steady-state error, a lag controller is added to the system O the steady-state error will be reduced by a factor of zo/po LAG CONTROLLER • With the gain Kp excluded for the moment, the transfer function of PID becomes: • Adding Kp to the equation, the transfer function of PID becomes: LEAD CONTROLLER • The lead controller is basically added to improve the transient response of the system i.e. Ts and Tp mainly • Not used here as it is not needed and the desired parameters are already being achieved THANK YOU