Sunteți pe pagina 1din 45

Sisteme automate incorporate / Tehnologii informatice n ingineria sistemelor/

Sisteme de conducere n robotic

Automotive Control
- Sisteme de tip pilot automat (cruise control) -

Dan Seliteanu

Departamentul de Automatic i Electronic

Universitatea din Craiova Facultatea de Automatic, Calculatoare i Electronic


CUPRINS

1. Introducere
2. Modelarea sistemelor de tip pilot automat
3. Analiza sistemului de pilotare automat
4. Proiectarea unor regulatoare PID
5. Proiectarea regulatorului n spaiul strilor
6. Modelarea i controlul sistemelor de tip pilot automat n Simulink
Bibliografie

2/45
1. Introducere

Prima etap n procesul de proiectare a unui sistem de conducere n


automotive const n dezvoltarea unor modele matematice utile, obinute fie
din legile fizice, fie din datele experimentale.
Reprezentrile sistemelor dinamice cele mai importante n automatic sunt
reprezentarea n spaiul strilor i funcia de transfer (pentru sisteme liniare).
n multe dintre sistemele din automotive sunt utilizate abordri de modelare
ale unor subsisteme mecanice i electrice, fiind foarte util reprezentarea
acestora n mediul MATLAB/Simulink, care permite analize i proiectri
avansate.
Limbajul de programare MATLAB, dezvoltat de MathWorks, permite
manipulri matriceale, plotarea de funcii i date, implementarea unor
algoritmi (inclusiv de conducere) etc.
Pachetul adiional Simulink permite simularea grafic multi-domeniu, precum
i proiectarea bazat pe model pentru sisteme dinamice i sisteme embedded.
3/45
Definiii i scurt istoric
Sistemul de tip pilot automat (sau autopilot) este un sistem tehnic montat la
bordul unui vehicul (aeronav, nav, nav spaial) care asigur conducerea
acestuia prelund unele dintre sarcinile pilotului, n special meninerea
stabilitii pe traseul prestabilit.
Cea mai rspndit utilizare a pilotului automat este n aviaie, cu funciile:
amortizare, prin care compenseaz oscilaiile avionului, care la viteze
supersonice nici nu pot fi atenuate de om;
stabilizare, prin care aeronava este meninut ntr-o asiet (nclinare)
dat, de regul orizontal;
comand, prin care modific evoluiile de zbor dup un program care
cuprinde intrarea, meninerea i ieirea din evoluie.
Pilotul automat dispune de un canal prin care transmite comenzi elementelor
de execuie (de obicei cilindri hidraulici) care acioneaz asupra suprafeelor
de comand principale (eleroane, profundor i direcie), dar i asupra
motoarelor i suprafeelor de comand secundare.
4/45
La automobile, pilotul automat se bazeaz pe reglarea vitezei de deplasare.
Reglarea vitezei cu regulator centrifugal a fost utilizat prima dat la
automobilele britanice Wilson-Pilcher i la cele americane Peerless n anii
1900-1910. Tehnologia de tip regulator centrifugal a fost preluat de la
invenia regulatorului cu bile de la mainile cu abur (Watt i Boulton, 1788).
Pilotul automat modern (speedostat, tempomat) a fost inventat n SUA, 1948,
de Teetor (Imperial, 1958). Sistemul "Auto-pilot" calcula viteza de deplasare
folosind rotaiile unui cablu i aciona printr-un motor electric asupra poziiei
unei clapete de admisie (sau cablu de acceleraie).
n 1965, American Motors a introdus un regulator de vitez automat cu pre
mic pentru mainile mari cu transmisie automat. Sistemul "Cruise-
Command" folosea un buton ce era acionat la atingerea vitezei dorite.
Wisner a inventat "Automotive Electronic Cruise Control" n 1968, ca inginer
la RCA's Industrial and Automation Systems Division, Plymouth, Michigan,
acesta fiind primul dispozitiv electronic folosit pentru un pilot automat.
Circuitul integrat Motorola MC14460 Auto Speed Control Processor a fost
primul CI utilizat n reglarea vitezei la automobile (anii 80).
5/45
Funcionare, avantaje i dezavantaje

ntr-un sistem de tip pilot automat, oferul trebuie s aduc viteza vehiculului
la o anumit valoare, dup care prin apsarea unui buton (dispozitivul de
prescriere) seteaz viteza dorit la valoarea curent a acesteia.

Auto-pilotul primete informaii despre viteza mainii prin intermediul unui


senzor (un cablu conectat la cutia de viteze, un senzor care msoar viteza de
rotaie a roii sau alte tipuri de senzori).

Multe sisteme nu permit utilizarea pilotului automat sub o anumit vitez (de
regul aprox. 50 km/h). Vehiculul va menine viteza dorit prin modificarea
poziiei cablului de acceleraie 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 cnd oferul apas
frna, iar n anumite sisteme i ambreiajul. Uneori sistemele includ facilitatea
de a relua viteza dup frnare.

6/45
Sistemele adaptive moderne au capacitatea de a reduce viteza la ntlnirea
altor maini sau obstacole.

Termenul de pilot automat adaptiv (Adaptive Cruise Control - ACC) nseamn


de fapt pilot automat mbuntit, de exemplu prin sisteme tip frnare
automat (automatic braking) sau reglare dinamic a vitezei (dynamic set-
speed type controls).

Avantaje i dezavantaje ale pilotului automat:


Util pentru distane lungi (reduce oboseala, crete confortul)
Poate fi utilizat pentru evitarea depirii vitezei legale
Viteza prescris prea mare poate fi periculoas n curbe
Calea de rulare cu probleme poate afecta n mod negativ controlul
Ploaia sau drumul alunecos pot duce la pierderea traciunii

7/45
2. Modelarea sistemelor de tip pilot automat
Sistemele de pilotare automat sunt exemple tipice de reglare n circuit nchis
(cu reacie, sau cu feedback).
Scopul unui pilot automat este meninerea constant a vitezei de deplasare a
vehiculului n pofida aciunii peturbaiilor externe, cum ar fi, de exemplu,
schimbarea pantei drumului sau a vitezei i direciei vntului.
Acest scop este tipic pentru un sistem de reglare automat (de control) i poate
fi realizat prin msurarea vitezei vehiculului, compararea cu referina (viteza
prescris) i ajustarea automat a acceleraiei conform unei legi de reglare.

Fig. 1. Diagrama forelor pentru un model simplu ce descrie dinamica unui autovehicul
8/45
Vehiculul din Fig. 1, de mas m, este pus n micare prin intermediul unei
fore u. Aceast for este generat la nivelul interfeei dintre drum i roi.
Modelul este unul simplificat, deoarece nu ia n considerare efectul
dinamicilor trenului de rulare, cauciucurilor etc., considerat deja integrat n
fora u.
Forele rezistive b v , datorate rezistenei la naintare i vntului sunt
considerate linare i proporionale cu viteza v.
Ecuaiile micrii
Modelul simplificat din Fig. 1 corespunde unui sistem de ordinul 1 (cu
amortizare). Prin aplicarea legii a doua a lui Newton se obine:
mv bv u (1)
Viteza este mrimea reglat i totodat mrime de ieire:
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 obine 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);

Funcia de transfer
Prin aplicarea transformrii Laplace ecuaiilor micrii n condiii iniiale nule
se obine funcia de transfer:
V ( s) 1 m / sec
P( s)
U ( s) ms b N (4)

Reprezentarea funciei de transfer n Matlab este de forma:


s = tf('s');
P_cruise = 1/(m*s+b);
11/45
3. Analiza sistemului de pilotare automat
Specificaii (cerine) de proiectare
Sistemul de tip pilot automat trebuie s satisfac anumite cerine. De exemplu,
pentru o for nominal de 500 N, maina va atinge viteza maxim de 10 m/s
(36 km/h).
Autovehiculul ar trebui s fie capabil s accelereze pn la aceast vitez n
mai puin de 5 sec., cu un suprareglaj de maxim 10% i o eroare staionar de
poziie de maximum 2%.
Rezult urmtoarele specificaii de proiectare:
Timp de cretere < 5 sec.
Suprareglaj < 10%
Eroare staionar de poziie < 2%

12/45
Rspunsul 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. Rspunsul sistemului n circuit deschis (P) (n raport cu mrimea de comand)


Nu apar oscilaii i nici suprareglaj (tipic pentru un sistem de ordinul 1), se atinge
viteza dorit 10 m/sec., dar timpul de cretere 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])

Fig. 3. Harta poli-zerouri a sistemului n circuit deschis


Polul este real i negativ (sistem stabil). Rapiditatea depinde de mrimea polului.

14/45
Caracteristicile Bode n circuit deschis
bode(P_cruise)

Fig. 4. Caracteristicile Bode n circuit deschis


Caracteristicile de frecven sunt tipice pentru sistemul de ordinul 1.
Trebuie proiectat un controller (regulator) care s poat modifica poziia
polilor/zerourilor sistemului n circuit nchis (polul instalaiei nu poate fi
modificat) pentru satisfacerea cerinelor (creterea rapiditii rspunsului).
15/45
4. Proiectarea unor regulatoare PID
Structura de control
Schema bloc a sistemului de reglare automat cu reacie este cea din Fig. 5.
regulator proces

Fig. 5. Schema bloc a sistemului de reglare automat

Funcia de transfer a unui regulator PID este de forma

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 corespunztori 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

Continuous-time PID controller in parallel form.

Regulator proporional
Se utilizeaz regulatorul C = Kp. Funcia 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 proporional 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

Continuous-time transfer function.

18/45
Fig. 6. Rspunsul sistemului n circuit nchis (regulator proporional)

Se observ c nici eroarea de regim staionar i nici timpul de cretere nu satisfac


cerinele de proiectare. Prin urmare, se poate crete factorul de amplificare de
proporionalitate, de exemplu Kp = 5000.
19/45
Fig. 7. Rspunsul sistemului n circuit nchis (regulator proporional, Kp mare)

Eroarea de regim staionar este aproape nul, timpul de cretere este foarte mic.
Rspunsul este totui nerealist, pentru c pilotul automat nu poate accelera de la 0 la
10 m/sec. n mai puin de 0.5 sec., datorit limitrilor mainii (n general,
introducerea unui sistem automat nu determin creterea performanelor procesului).
Limitrile introduse de elementele de execuie sunt des ntlnite n practica
sistemelor automate. Din acest motiv trebuie analizat mrimea de comand pentru
a verifica posibilitatea implementrii fizice. Tem: plotarea evoluiei comenzii.
20/45
Regulator proporional-integrator PI
Pentru mbuntirea rspunsului i performanelor sistemului de reglare se
poate implementa un controller PI.
Funcia de transfer a sistemului n circuit nchis prevzut 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)

Exemplu de implementare n Matlab a unui regulator de tip PI:


Kp = 800;
Ki = 40;

C = pid(Kp,Ki);

H0 = feedback(C*P_cruise,1);

step(r*H0,t)
axis([0 20 0 10])
21/45
Fig. 8. Rspunsul sistemului n circuit nchis (regulator PI)

Eroarea de regim staionar este nul, timpul de cretere este sub 5 sec., nu exist
suprareglaj.
22/45
Regulator PID
Dei rspunsul sistemului cu regulator PI este foarte bun, se pot testa legi de
reglare de tip PID, care nglobeaz i elementul derivator.
Funcia de transfer a sistemului n circuit nchis prevzut 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)

Exemplu de implementare n Matlab a unui regulator de tip PID:


Kp = 1; Ki = 1; Kd = 1;
C = pid(Kp,Ki,Kd);
H0 = feedback(C*P_cruise,1);

Tem: S se ploteze rspunsul sistemului n circuit nchis pentru diverse valori ale
parametrilor legii PID (prin ncercri - trial and error).
Observaie: n practic se utilizeaz regulatoare PID real (cu filtrare), deoarece funcia
de transfer a sistemului cu PID ideal este improprie (nu se poate implementa fizic).
23/45
5. Proiectarea regulatorului n spaiul strilor
Pentru proiectarea unui regulator cu reacie 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.
Fora nominal u va fi considerat de 500 N, iar cerinele de proiectare sunt
cele din capitolele anterioare.
Timp de cretere < 5 sec.
Suprareglaj < 10%
Eroare staionar de poziie < 2%

24/45
Proiectarea bazat pe alocarea polilor
Schema bloc a sistemului de reglare cu reacie dup stare este cea din figura
urmtoare, unde:
K este matricea de amplificare a legii de reglare cu reacie dup stare,
u = r-Kv este mrimea de comand.

proces

Reacie dup stare

Fig. 9. Schema bloc a sistemului n circuit nchis cu reglare dup stare


25/45
Pentru proiectare se poate folosi o tehnic de plasare (de alocare) a polilor pentru
obinerea rspunsului dorit.
Polii sistemului n circuit nchis pot fi determinai din ecuaia caracteristic, adic
determinantul matricei [sI-(A-B*K)].
Dac putem plasa polii n anumite locaii dorite prin intermediul matricei (scalar n
cazul nostru particular) K, atunci se poate obine rspunsul dorit al sistemului.
Sistemul de auto-pilotare fiind simplu din punct de vedere al dinamicii (ordinul 1),
vom avea de alocat un singur pol, pe care putem, de exemplu, s l plasm n -1.5.
Comanda Matlab place poate fi utilizat pentru calculul lui K.
m = 1000; b = 50;
t = 0:0.1:10; u = 500*ones(size(t));
A = [-b/m]; B = [1/m]; C = [1]; D = [0];
sys = ss(A,B,C,D);
x0 = [0];
p1 = -1.5;
K = place(A,B,[p1])
sys_cl = ss(A-B*K,B,C,D);
lsim(sys_cl,u,t,x0); axis([0 10 0 0.35])
K =
1450
26/45
Rspunsul la intrare treapt al sistemului n circuit nchis este cel din figura urmtoare,
de unde se observ c timpul de cretere este bun, dar eroarea staionar de poziie este
nesatisfctoare.

Fig. 10. Rspunsul la intrare treapt al sistemului n circuit nchis (reacie 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 staionar)

28/45
Fig. 12. Rspunsul la intrare treapt al sistemului n circuit nchis (reacie dup stare, cu
factor de scalare)

Cerinele de proiectare sunt ndeplinite.


29/45
6. Modelarea i controlul sistemelor de tip pilot automat n Simulink
Implementarea modelului n Simulink
Va fi utilizat modelul simplificat din Fig. 1, care corespunde unui sistem de
ordinul 1 (cu amortizare). Prin aplicarea legii a doua a lui Newton se obine:
mv bv u
Viteza este mrimea reglat i totodat mrime de ieire:
yv
Pentru implementarea modelului n Simulink se deschide o nou fereastr
model. ntr-o prim etap, se modeleaz integrala acceleraiei (viteza):
dv
dt dt v
Pentru aceasta se utilizeaz un bloc Integrator (din biblioteca Continuous),
apoi se eticheteaz terminalele de intrare i de ieire "vdot" i "v".

30/45
n continuare se construiete modelul pe baza ecuaiilor de micare folosind
elemente din bibliotecile Simulink: Gain block, Sum block (din biblioteca
Math Operations) etc., conform figurilor urmtoare.

Fig. 13. Etape n construcia modelului Simulink

31/45
Pentru simularea aplicrii unui semnal de tip treapt pentru u se insereaz un
Step block (din biblioteca Sources) la intrarea n Sum block.

Fig. 14. Schema Simulink a modelului simplificat (sistem auto-pilot)


32/45
Rspunsul sistemului n circuit deschis
Pentru obinerea rspunsului sistemului n circuit deschis, se utilizeaz
fereastra Simulation, meniul Parameters.

Fig. 15. Setarea parametrilor n meniul Configuration Parameters


33/45
Dup rularea comenzilor Matlab de setare a parametrilor:
m = 1000; b = 50; u = 500;

prin rularea simulrii (Start din meniul Simulation), prin dublu-click pe Scope
se obine rezultatul urmtor.
Modelul Simulink poate fi folosit pentru proiectarea unui controller care s
conduc la mbuntirea performanelor.

Fig. 16. Rspunsul sistemului n circuit deschis la intrare de tip treapt


34/45
Proiectarea controllerului n Simulink
Modelul sistemului prezentat n Fig. 14 poate fi extras din modelul Simulink
i poate fi transferat n Matlab. Aceasta se poate realiza prin utilizarea
blocurilor In1 i Out1 (Ports & Subsystems) i cu comanda linmod.

Fig. 17. Pregtirea modelului Simulink pentru extragere n Matlab


35/45
Se salveaz fiierul sub forma "ccmodel.mdl" i se utilizeaz comenzile:
m = 1000; b = 50; u = 500;
[A,B,C,D] = linmod('ccmodel')
cruise_ss = ss(A,B,C,D);
A =
-0.0500
B =
1.0000e-03
C =
1
D =
0

Pentru verificare se calculeaz i se traseaz (n Matlab) rspunsul la intrare


treapt al sistemului (n circuit deschis).
step(u*cruise_ss)
36/45
Fig. 18. Rspunsul sistemului n circuit deschis la intrare de tip treapt (n Matlab)

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 ieire din subsistem.
Blocul se poate denumi "plant model".
n aceast etap se poate construi un regulator PI cuplat la modelul procesului.
Se prelungete linia de la ieirea procesului.
Se insereaz un sumator i se asigneaz semnele "+-" la intrrile acestuia.
Linia de la ieirea procesului se conecteaz la intrarea negativ a
sumatorului.
38/45
Fig. 19. Etape n construcia 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 ieirea sumatorului
pentru implementarea lui Kp (i i se asigneaz valoarea lui Kp).

Fig. 20. Etape n construcia regulatorului i a sistemului n circuit nchis


40/45
Se adun componentele de tip I i P cu ajutorul unui sumator.
Se conecteaz ieirea sumatorului la ieirea procesului.

Fig. 21. Etape n construcia regulatorului i a sistemului n circuit nchis


41/45
Se conecteaz apoi un generator de tip treapt (Step Time = "0", Final
Value = "u") i un osciloscop (la intrare, respectiv la ieire) Fig. 22.
Regulatorul se poate implementa i folosind direct un bloc de tip Transfer
Function (din biblioteca Continuous) Fig. 23.

Fig. 22. Modelul Simulink al sistemului n circuit nchis regulator PI


42/45
Fig. 23. Modelul Simulink al sistemului n circuit nchis regulator PI, varianta cu
implementare direct printr-un bloc de tip funcie de transfer

43/45
Rspunsul sistemului n circuit nchis
Pentru simularea rspunsului 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;

Se ruleaz simularea (Start din Simulation), apoi se deschide i se scaleaz


osciloscopul, obinndu-se rspunsul sistemului n circuit nchis.

Fig. 24. Rspunsul 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] strm, 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 Users 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

S-ar putea să vă placă și