Documente Academic
Documente Profesional
Documente Cultură
Cruise Control PDF
Cruise Control PDF
Automotive Control
- Sisteme de tip pilot automat (cruise control) -
Dan Selişteanu
1. Introducere
2. Modelarea sistemelor de tip pilot automat
3. Analiza sistemului de pilotare automată
4. Proiectarea unor regulatoare PID
5. Proiectarea regulatorului în spaţiul stărilor
6. Modelarea și controlul sistemelor de tip pilot automat în Simulink
Bibliografie
2/45
1. Introducere
Într-un sistem de tip pilot automat, șoferul trebuie să aducă viteza vehiculului
la o anumită valoare, după care prin apăsarea unui buton (dispozitivul de
prescriere) setează viteza dorită la valoarea curentă a acesteia.
Multe sisteme nu permit utilizarea pilotului automat sub o anumită viteză (de
regulă aprox. 50 km/h). Vehiculul va menţine viteza dorită prin modificarea
poziţiei cablului de acceleraţie prin intermediul unei bobine, unui servo-
mecanism cu vacuum, sau cu un sistem electronic built-in ('drive-by-wire').
Pilotul automat trebuie să poată fi decuplat automat atunci când șoferul apasă
frâna, iar în anumite sisteme și ambreiajul. Uneori sistemele includ facilitatea
de a relua viteza după frânare.
6/45
Sistemele adaptive moderne au capacitatea de a reduce viteza la întâlnirea
altor mașini sau obstacole.
7/45
2. Modelarea sistemelor de tip pilot automat
Sistemele de pilotare automată sunt exemple tipice de reglare în circuit închis
(cu reacție, sau cu feedback).
Scopul unui pilot automat este menținerea constantă a vitezei de deplasare a
vehiculului în pofida acțiunii peturbațiilor externe, cum ar fi, de exemplu,
schimbarea pantei drumului sau a vitezei și direcției vântului.
Acest scop este tipic pentru un sistem de reglare automată (de control) și poate
fi realizat prin măsurarea vitezei vehiculului, compararea cu referința (viteza
prescrisă) și ajustarea automată a accelerației conform unei legi de reglare.
Fig. 1. Diagrama forțelor pentru un model simplu ce descrie dinamica unui autovehicul
8/45
Vehiculul din Fig. 1, de masă m, este pus în mișcare prin intermediul unei
forțe u. Această forță este generată la nivelul interfeței dintre drum și roți.
Modelul este unul simplificat, deoarece nu ia în considerare efectul
dinamicilor trenului de rulare, cauciucurilor etc., considerat deja integrat în
forța u.
Forțele rezistive b v , datorate rezistenței la înaintare și vântului sunt
considerate linare și proporționale cu viteza v.
Ecuațiile mișcării
Modelul simplificat din Fig. 1 corespunde unui sistem de ordinul 1 (cu
amortizare). Prin aplicarea legii a doua a lui Newton se obține:
mv bv u (1)
Viteza este mărimea reglată și totodată mărime de ieșire:
yv (2)
9/45
Modelul de stare
Deoarece sistemele de ordinul 1 au un singur regim de stocare a energiei, în
acest caz energia cinetică a vehiculului, vom avea o singură variabilă de stare,
viteza.
Reprezentarea de stare se obține din (1) și (2):
b 1
x v v u
m m (3)
yv
Parametrii sistemului (exemplu):
m - masa vehiculului: 1000 kg
b - coeficientul de amortizare: 50 N.s/m
10/45
Reprezentarea de stare în Matlab este de forma:
m = 1000;
b = 50;
A = -b/m;
B = 1/m;
C = 1;
D = 0;
cruise_ss = ss(A,B,C,D);
Funcția de transfer
Prin aplicarea transformării Laplace ecuațiilor mișcării în condiții inițiale nule
se obține funcția de transfer:
V ( s) 1 m / sec
P( s)
U ( s) ms b N (4)
12/45
Răspunsul sistemului în circuit deschis
m = 1000; b = 50; u = 500;
s = tf('s'); P_cruise = 1/(m*s+b);
step(u*P_cruise)
Fig. 2. Răspunsul sistemului în circuit deschis (P) (în raport cu mărimea de comandă)
Nu apar oscilații și nici suprareglaj (tipic pentru un sistem de ordinul 1), se atinge
viteza dorită 10 m/sec., dar timpul de creștere este de peste 60 sec.
13/45
Polii sistemului în circuit deschis
Sistemul are un singur pol în s = -b/m.
pzmap(P_cruise)
axis([-1 1 -1 1])
14/45
Caracteristicile Bode în circuit deschis
bode(P_cruise)
Ki K d s 2 K p s Ki 1
C (s) K p Kd s K p 1 Td s (5)
s s Ti s
unde K p , K i şi K d sunt factorii de amplificare corespunzători elementelor P,
I şi D.
16/45
În Matlab, regulatorul se poate introduce astfel:
C = pid(Kp,Ki,Kd)
C =
1
Kp + Ki * --- + Kd * s
s
with Kp = 1, Ki = 1, Kd = 1
Regulator proporţional
Se utilizează regulatorul C = Kp. Funcţia de transfer a sistemului în circuit
închis va fi:
Y ( s) P( s )C ( s ) Kp
H 0 ( s) (6)
R( s ) 1 P( s)C ( s ) ms b K p
17/45
Exemplu de implementare a regulatorului proporţional în Matlab:
m = 1000; b = 50;
r = 10;
s = tf('s');
P_cruise = 1/(m*s + b);
Kp = 100;
C = pid(Kp);
H0 = feedback(C*P_cruise,1)
t = 0:0.1:20;
step(r*H0,t)
axis([0 20 0 10])
H0 =
100
------------
1000 s + 150
18/45
Fig. 6. Răspunsul sistemului în circuit închis (regulator proporţional)
Eroarea de regim staționar este aproape nulă, timpul de creștere este foarte mic.
Răspunsul este totuși nerealist, pentru că pilotul automat nu poate accelera de la 0 la
10 m/sec. în mai puțin de 0.5 sec., datorită limitărilor mașinii (în general,
introducerea unui sistem automat nu determină creșterea performanțelor procesului).
Limitările introduse de elementele de execuție sunt des întâlnite în practica
sistemelor automate. Din acest motiv trebuie analizată mărimea de comandă pentru
a verifica posibilitatea implementării fizice. Temă: plotarea evoluției comenzii.
20/45
Regulator proporţional-integrator PI
Pentru îmbunătățirea răspunsului și performanțelor sistemului de reglare se
poate implementa un controller PI.
Funcția de transfer a sistemului în circuit închis prevăzut cu regulator de tip PI
(C = Kp + Ki/s) este de forma:
Y (s) P( s )C ( s ) K p s Ki
H 0 (s) 2
R( s ) 1 P( s )C ( s ) ms b K p s K i (7)
C = pid(Kp,Ki);
H0 = feedback(C*P_cruise,1);
step(r*H0,t)
axis([0 20 0 10])
21/45
Fig. 8. Răspunsul sistemului în circuit închis (regulator PI)
Eroarea de regim staționar este nulă, timpul de creștere este sub 5 sec., nu există
suprareglaj.
22/45
Regulator PID
Deși răspunsul sistemului cu regulator PI este foarte bun, se pot testa legi de
reglare de tip PID, care înglobează și elementul derivator.
Funcția de transfer a sistemului în circuit închis prevăzut cu regulator de tip
PID (C = Kp + Ki/s +Kd*s) este de forma:
Y (s) P ( s )C ( s ) K d s3 K p s Ki
H 0 ( s)
R( s ) 1 P( s )C ( s ) (m K d ) s 2 b K p s K i (8)
Temă: Să se ploteze răspunsul sistemului în circuit închis pentru diverse valori ale
parametrilor legii PID (prin încercări - trial and error).
Observație: În practică se utilizează regulatoare PID real (cu filtrare), deoarece funcția
de transfer a sistemului cu PID ideal este improprie (nu se poate implementa fizic).
23/45
5. Proiectarea regulatorului în spaţiul stărilor
Pentru proiectarea unui regulator cu reacție după stare, se utilizează
reprezentarea de stare dedusă în Capitolul 3.
b 1
x v v u
m m
yv
Parametrii sistemului: m - masa vehiculului: 1000 kg, b - coeficientul de
amortizare: 50 N.s/m.
Forța nominală u va fi considerată de 500 N, iar cerințele de proiectare sunt
cele din capitolele anterioare.
Timp de creștere < 5 sec.
Suprareglaj < 10%
Eroare staționară de poziție < 2%
24/45
Proiectarea bazată pe alocarea polilor
Schema bloc a sistemului de reglare cu reacție după stare este cea din figura
următoare, unde:
K este matricea de amplificare a legii de reglare cu reacție după stare,
u = r-Kv este mărimea de comandă.
proces
Fig. 10. Răspunsul la intrare treaptă al sistemului în circuit închis (reacție după stare)
27/45
Pentru remedierea acestei probleme se poate utiliza un factor de scalare N :
Nbar = rscale(sys,K)*10/500;
sys_cl = ss(A-B*K,B*Nbar,C,D);
lsim(sys_cl,u,t,x0);
axis([0 10 0 11])
Fig. 11. Schema bloc a sistemului în circuit închis cu reglare după stare (cu factor de
scalare care resetează eroarea de regim staționar)
28/45
Fig. 12. Răspunsul la intrare treaptă al sistemului în circuit închis (reacție după stare, cu
factor de scalare)
30/45
În continuare se construieşte modelul pe baza ecuaţiilor de mişcare folosind
elemente din bibliotecile Simulink: Gain block, Sum block (din biblioteca
Math Operations) etc., conform figurilor următoare.
31/45
Pentru simularea aplicării unui semnal de tip treaptă pentru u se inserează un
Step block (din biblioteca Sources) la intrarea în Sum block.
prin rularea simulării (Start din meniul Simulation), prin dublu-click pe Scope
se obţine rezultatul următor.
Modelul Simulink poate fi folosit pentru proiectarea unui controller care să
conducă la îmbunătăţirea performanţelor.
37/45
Implementarea unui regulator (controller) PI
Se poate folosi regulatorul PI proiectat anterior și implementat în Matlab,
caracterizat de parametrii Kp = 800 și Ki = 40.
Se va utiliza modelul Simulink anterior, încapsulat într-un bloc de tip
Subsistem. Pentru aceasta se deschide o nouă fereastră model și se aduce aici
un bloc Subsystem din biblioteca Ports & Subsystems.
Se efectuează dublu-click pe bloc, se deschide apoi modelul ccmodel.mdl, se
copiază acest model cu Ctrl-A, apoi Ctrl-V în subsistem.
Acum ar trebui să fie vizibile terminalele de intrare și de ieșire din subsistem.
Blocul se poate denumi "plant model".
În această etapă se poate construi un regulator PI cuplat la modelul procesului.
Se prelungește linia de la ieșirea procesului.
Se inserează un sumator și se asignează semnele "+-" la intrările acestuia.
Linia de la ieșirea procesului se conectează la intrarea negativă a
sumatorului.
38/45
Fig. 19. Etape în construcţia regulatorului și a sistemului în circuit închis
39/45
Se inserează un bloc Integrator după sumator.
Se inserează și se conectează un bloc Gain după integrator pentru
implementarea lui Ki (și i se asignează valoarea lui Ki).
Se inserează și se conectează un alt bloc Gain la ieșirea sumatorului
pentru implementarea lui Kp (și i se asignează valoarea lui Kp).
43/45
Răspunsul sistemului în circuit închis
Pentru simularea răspunsului sistemului în circuit închis se setează timpul de
simulare din Simulation - Parameters (Stop Time =10). Se rulează comenzile:
m = 1000; b = 50; u = 10; Kp = 800; Ki = 40;
Fig. 24. Răspunsul sistemului în circuit închis la intrare de tip treaptă (auto-pilot)
44/45
Bibliografie
[1] Adaptive Cruise Control. Audi A8 User's Manual, 292.561.4E0.00, Audi AG, 2008.
[2] Åström, K. J., Introduction to Control, Lund Institute of Technology, 2004.
[3] Chin, C. S., Computer-Aided Control Systems Design: Practical Applications Using
MATLAB® and Simulink®, CRC Press, 2012.
[4] Dorf, R. C., Bishop, R. H., Modern Control Systems, Prentice Hall, 2001.
[5] Lurie, B., Enright, P., Classical Feedback Control: With MATLAB® and Simulink®,
CRC Press, 2011.
[6] MATLAB User’s Guide. The Mathworks Inc., USA, 2007.
[7] Messner, B., Tilbury, D., Hill, R., Taylor, J.D. et al. Control Tutorials for Matlab and
Simulink, University of Michigan, Carnegie Mellon, University of Detroit Mercy,
NSF and MathWorks, 2011-2014.
[8] http://auto.howstuffworks.com/cruise-control2.htm
45/45