Referate Meniu
Astronomie
Biologie
Chimie
Desen
Diverse
Drept
Economie
Engleza
Filozofie
Fizica
Franceza
Geografie
Germana
Informatica
Istorie
Italiana
Marketing
Matematica
Medicina
Muzica
Psihologie
Romana
Romana1
Spaniola


 


referat, proiect, rezumat, caracterizare, lucrare de nota 10 despre:

ALGORITMI EVOLUATI DE REGLARE NUMERICA

 

UNIVERSITATEA POLITEHNICA BUCURESTI

FACULTATEA DE AUTOMATICA SI CALCULATOARE

 

 

 

 

 

 

 

ALGORITMI EVOLUATI DE REGLARE NUMERICA

 

 

 

COMANDA NELINIARA A PENDULULUI INVERS

 

 

 

 

 

 

 

 

 

 

Cuprins

 IntroducerePreliminariiEcuatiile sistemuluiFunctia de transferSpatiul starilorRaspunsul sistemului in bucla deschisa

  1. Functia de transfer
  2. Spatiul starilor
Construirea controller-uluiLQRReferintaConstruirea observatorului

 

 

 

 

 

 

 

 

 

 

Introducere

 

25986god75jbo1j Pendulul invers este o problema clasica de control. Procesul este neliniar si instabil, cu un singur semnal de intrare si mai multe semnale de iesire. Scopul este de a balansa pendulul vertical pe un carucior cu motor.

Figura alaturata reprezinta un pendul invers. Scopul: miscarea caruciorului pe axa x pana la o pozitie dorita fara ca pendulul sa cada. Pozitia caruciorului, x, si unghiul pendulului cu verticala, , sunt masurate si furnizate unui sistem de control. Forta disturbatoare F poate fi aplicata caruciorului.

 

inapoi

 

 

Preliminarii

 

M
Masa caruciorului
0.5 kg
m
Masa pendulului
0.5 kg
b
Frecarea caruciorului
0.1 N/m/sec
l
Lungimea pana la centrul de greutate al pendulului
0.3 m
I
Inertia pendulului
0.006 kg*m^2
F
Forta aplicata caruciorului
 
x
Coordinata pozitiei caruciorului
 
theta ()
Unghiul facut de pendul cu verticala
 

Folosind reglarea cu PID, alocarea de poli sau raspunsul in frecventa se poate controla numai pozitia pendulului. (sistem siso). Se presupune ca sistemul porneste in stare de echilibru, primeste un impuls de 1 N. Pendulul ar trebui sa se revina la pozita verticala in maxim 5 secunde si sa nu oscileze fata de verticala cu mai mult de 0,005 radiani.

25986god75jbo1j Criteriile de performanta ale sistemului:

  • Revenire in pozitia verticala in mai putin de 5 secunde.

  • Unghiul pendulului cu verticala sa nu fie mai mare de 0.05 radiani.

Reprezentarea sistemului in timp continuu este recomandata acestei probleme (sistem cu mai multe iesiri). La aplicarea unui semnal treapta caruciorul ar trebui sa ajunga in pozitia dorita in mai putin de 5 secunde, sa aiba un timp de crestere mai mic de 0,5 secunde si pendululsa aiba o limita de oscilare de 20o (0,35 radiani) si sa se stabilizeze tot sub 5 secunde.

Criteriile de performanta ale sistemului folosind metoda variabilelor de stare:

  • Timpul de stabilizare pentru x si mai mic de 5 secunde.

  • Timpul de crestere pentru x mai mic de 0.5 secunde.

  • Oscilarea maxima a pendului mai mica de 20o (0,35 radiani).

inapoi

 

Ecuatiile sistemului

 

25986god75jbo1j Insumand fortele ce actioneaza asupra caruciorului se obtine ecuatia de miscare:

25986god75jbo1j Insumand fortele ce actioneaza asupra pendulului se poate obtine o ecuatie pentru N:

Prin inlocuirea acestei ecuatii in prima se obtine prima ecuatie de miscare a sistemului:

(1)

A doua ecuatie de miscare a sistemului se obtine insumand fortele perpendiculare pe pendul:

Rezulta:

A doua ecuatie de miscare a sistemului:

(2)

Aceste ecuatii trebuie liniarizate cu . Presupunand ca (unde reprezinta un unghi mic fata de verticala), se obtine cos() = -1, sin() = - si . Dupa liniarizare, cele doua ecuatii de miscare devin:

(unde u reprezinta comanda)

inapoi

 

 

Functia de transfer

 

Obtinerea pe cale analitica a functiei de transfer corespunzatoare ecuatiilor sistemului liniarizate ale sistemului se face aplicand transformata Laplace ecuatiilor:

 

 

Conditiile initiale se presupune ca sunt egale cu 0.

 

Se rezolva ecuatia in X(s),

se inlocuieste in a doua ecuatie:

Rezulta:

unde,

Functia de transfer are si pol si zero in origine.Functia de transfer poate deveni:

inapoi

 

Spatiul starilor

Ecuatiile sistemului liniarizat pot fi reprezentate in spatiul starilor sub urmatoarea forma:

Matricea C este 2 pe 4 deoarece si pozitia caruciorului si pozitia pendulului fac parte din iesirea sistemului. Prima linie corespunde pozitiei caruciorului, iar cea de-a doua pozitiei pendulului.

inapoi

 

Raspunsul sistemului in bucla deschisa

1. Functia de transfer

Functia de transfer a sistemului in bucla deschisa este obtinuta in Matlab:

 

 

 

:

 

 

 

 

 

 

 

 

 

num =

4.5455 25986god75jbo1j 0

 

den =

1.0000 0.1818 -31.1818 -4.4545

 

 

Dupa cum se vede si in figura alaturata, sistemul nu este stabil in bucla deschisa.

 

 

 

 

 

 

 

inapoi

 

 

2. Spatiul starilor

 

In Matlab se obtin matricile A, B, C, si D si raspunsul sistemului la aplicarea unui semnal treapta de 0.2 m caruciorului.

 

25986god75jbo1j Matricile arata astfel:

 

A =

 

0 1.0000 0 0

0 -0.1818 2.6727 0

0 0 0 1.0000

0 -0.4545 31.1818 0

 

 

B = 0

1.8182

0

4.5455

 

C = 1 0 0 0

0 0 1 0

D = 0

0

 

 

 

 

 

Linia albastra (a doua) reprezinta pozitia caruciorului, iar cea verde (prima) reprezinta unghiul pendulului.

 

 

 inapoi

 

Construirea controller-ului

 

Ecuatiile sistemului:

Sistemul se poate schita ca mai jos:

 

R – referinta

y – raspunsul sistemului (contine si pozitia caruciorului si unghiul pendulului)

K – controller-ul

 

 inapoi

 

 

 

 

 

Polii in bucla deschisa

 

Se doreste construirea unui controller astfel incat la aplicarea unui semnal treapta sistemului, pendulul sa ramana in pozitia verticala, iar caruciorul sa se mute la noua pozitie comandata.

Primul pas in construirea unui astfel de controller este determinarea polilor in bucla deschisa ai sistemului.

adaugat la programul Matlab din Functia de transfer calculeaza polii sistemului in bucla deschisa:

25986god75jbo1j

 

p =

0

-0.1428

5.5651

-5.6041

 

Se observa ca exista un pol in semiplanul pozitiv. Deci sistemul este instabil in bucla deschisa.

inapoi

 

 

LQR

 

Urmatorul pas este presupunerea ca se pot masura toate cele 4 stari si gasirea vectorului K ce determina legea de control. Folosirea “lqr” permite controlul ambelor iesiri. Cel mai simplu caz este cel in care R = 1 si Q = C ’ * C.

Introdus in linia de comanda in Matlab calculeaza matricea Q:

 

ans =

 

1 0 0 0

0 0 0 0

0 0 1 0

0 0 0 0

 

Elementul din pozitia (1,1) este folosit pentru masurarea pozitiei caruciorului, iar elementul (3,3) pentru masurarea unghiului pendulului.

 

 

Se obtin vectorul K si raspunsul sistemului la treapta cu controller LQR:

 

K =

 

-1.0000 -1.6567 18.6854 3.4594

 

 

Curba verde (cea de sus) reprezinta unghiul pendulului (in radiani), iar cea albastra reprezinta pozitia caruciorului (in metri). Raspunsul nu este satisfacator. Timpul de stabilizare al caruciorului si al pendulului trebuie micsorat. Timpul de crestere al caruciorului trebuie sa scada.

Schimband valorile x si y din matricea Q se pot aduce imbunatatiri. Cresterea lui x scade timpii de stabilizare si de crestere si micsoreaza unghiul sub care se misca pendulul.

Se obtin:

 

K =

-70.7107 -37.8345 105.5298 20.9238

 

 

Raspunsul sistemului are un timp de stabilizare sub 2 secunde.

 

 

 

 

 

 

 

 

inapoi

 

Referinta

 

Trebuie gasit un factor de amplificare care elimina eroarea steady-state la o referinta treapta

 

Nbar poate fi calculat folosind o functia:

 

 

Se inlocuieste linia :

 

 

 

cu cea din stanga. Matricea C devine Cn, deoarece functia rscale nu functioneaza pentru iesiri multiple. Cu toate acestea, valoarea Nbar cautata este corecta.

 

 

 

 

Nbar =

 

-70.7107

 

 

 

 

 

 

 

 

inapoi

 

 

Construirea observatorului

 

Este nevoie de un estimator pentru acele stari care nu pot fi masurate.

 

 

 

Polii controller-ului:

 

p =

-8.4910 + 7.9283i

-8.4910 - 7.9283i

-4.7592 + 0.8309i

-4.7592 - 0.8309i

 

Se doreste construirea unui estimator ai carui poli sa fie de 4-10 ori mai rapizi decat cel mai lent pol, fie el –40.

Se inlocuieste linia “lsim” cu

 

L =

1.0e+03 *

 

0.0826 -0.0010

1.6992 -0.0402

-0.0014 0.0832

-0.0762 1.7604

Compensatorul este obtinut din combinatia legii de comanda cu estimatorul:

 

 

 

 

 

 

 

 

Raspunsul sistemului cu estimator de stare:

 inapoi