Njësia 5 / 9

Algoritmet e kontrollit: Sintonizimi i mbështetur nga PID dhe AI

Fitimet:

  • Aftësia për të shpjeguar dhe zbatuar termat P, I, D dhe efektet e kontrolluesit PID në AI me kontekstin e duhur
  • Aftësia për të kryer Ziegler-Nichols dhe metoda eksperimentale të akordimit hap pas hapi me ndihmën e AI
  • Aftësia për të njohur dhe eliminuar kurthe PID të tilla si mbyllja integrale, zhurma derivative në rekomandimet e AI

Mbajtja konstante e temperaturës së një furre, drejtimi i shpejtësisë së një motori në një vlerë të dëshiruar, balancimi i këndit të një droni; Në zemër të të gjithëve është një algoritëm kontrolli. Më i zakonshmi prej tyre është kontrolluesi PID, i cili është shtylla kurrizore e industrisë. PID; Është i thjeshtë, i fortë dhe funksionon në një gamë të gjerë problemesh. Por "i thjeshtë" nuk do të thotë "i lehtë për t'u sintonizuar": një PID i vendosur gabimisht do të lëkundet, kapërcehet, do të ulet vonë ose do të bëhet plotësisht i paqëndrueshëm. Inteligjenca artificiale është një asistent i vlefshëm këtu: shpjegon termat PID, udhëzon përmes metodave të akordimit, diagnostikon grackat tipike dhe shkruan kodin e akordimit. Megjithatë, rregullimi përfundimtar bëhet duke parë sjelljen fizike të sistemit tuaj dhe vendimi i stabilitetit i përket inxhinierit. Në këtë njësi ne mbulojmë mënyrën e instalimit, akordimit dhe verifikimit të kurtheve PID me AI.

Tre terma të PID

PID i përgjigjet sinjalit të gabimit (e = objektiv - i matur) në tre mënyra:

afati

Çfarë shikon ai?

Efekti

në ekstrem

P (proporcionale)

gabim aktual

përgjigje e shpejtë

Lëkundje, gabim i përhershëm

Unë (integrale)

Gabim i akumuluar i kaluar

Rivendos një gabim të përhershëm

tejkalim, mbyllje, lëkundje

D (derivativ)

Shkalla e ndryshimit të gabimit

Amortizimi redukton tejkalimin

Përforconi zhurmën

Përmbledhje verbale: P u përgjigjet pyetjeve "sa larg jam tani", unë "sa kohë kam qenë larg", D "sa shpejt po afrohem". Një kontrollues i mirë balancon të treja.

klasa PID: def __fillim__(vetë, Kp, Ki, Kd, output_min=-100, output_max=100): vet.Kp, vet.Ki, vetë.Kd = Kp, Ki, Kd vetë.jashtë_min, vetë.jashtë_max = output_min, output_max self.integral = 0v. llogarit (vetë, objektiv, i matur, dt): gabim = objektiv - i matur # P p = vet. Kp * gabim # I -- vetë.integral me mbrojtjen e mbylljes += gabim * dt i = vet. Ki * vetë.integral # D -- derivativ i zhurmës d = vet. Ngoso daljen dhe kufizo mbylljen nëse output > self.output_max: output = self.out_max self.integral -= gabim * dt # anti-windup: anuloje daljen integrale elif < self.output_min: output = self.output_min self.integral -= gabim * dt kthim dalje

Ky kod nuk është një "PID trajnimi", por një skelet afër logjikës së prodhimit: ai përfshin ngopjen e prodhimit dhe anti-përfundimin. Shumë PID të thjeshta të dhëna nga AI i anashkalojnë këto dy mbrojtje; Pa to, kur aktivizuesi arrin kufirin e tij, integrali do të fryhet dhe sistemi do të tejkalojë papritur.

Këshillë: Kur kërkoni nga AI për PID-in, thoni "shtoni ngopjen e daljes dhe kundër-përmbytjes, aplikoni derivatin në matje në termin e derivatit". Këto tre shtesa konvertojnë PID të tekstit shkollor në fushën PID.

Mbyllja integrale dhe zhurma e derivatit

Dy gracka klasike janë shkaqet më të zakonshme të dështimit të PID:

Mbyllja integrale: Kur aktivizuesi ngopet (p.sh. motori është tashmë në fuqi të plotë) gabimi vazhdon dhe termi integral vazhdon të rritet. Ky integral i fryrë çon në një tejkalim të madh kur sistemi arrin objektivin. Zgjidhja: ndalimi ose kthimi i integralit kur dalja është e ngopur (anti-windup, demonstruar në kodin e mësipërm).

Zhurma e derivatit: Termi D merr derivatin e gabimit; Derivati ​​i një matjeje të zhurmshme është shumë më i zhurmshëm dhe do të vibrojë aktivizuesin. Zgjidhje: marrja e derivatit nga matja (derivati ​​i matjes në vend të gabimit), shtimi i një filtri me kalim të ulët termit të derivatit.

# Zvogëlimi i zhurmës së derivatit: derivati i matjes + i_filtruar = -(i matur - vetë.previous_measured) / dt në vend të gabimit

AI është i mirë në identifikimin e këtyre grackave; Nëse thoni "PID im tejkalon shumë kur arrin objektivin", ai rekomandon mbylljen. Por ju verifikoni duke matur nëse rregullimi funksionon në sistemin tuaj.

Vendosja me Ziegler-Nichols

Një metodë klasike për gjetjen e fitimeve (Kp, Ki, Kd) nga e para është Ziegler-Nichols. Thelbi i tij: duke filluar vetëm me P dhe duke rritur Kp derisa sistemi të kalojë në lëkundje të qëndrueshme; Llogaritni Kp, Ki, Kd nga tabela me fitimin kritik Ku ​​dhe periodën e lëkundjes Tu në këtë pikë.

kontrollues

kp

Ti

Td

P.

0,5· Ku

-

-

P.I.

0,45·Ku

Tu/1.2

-

PID

0,6· Ku

Tu/2

Tu/8

Hapat Ziegler-Nichols (plani që do të bëhet nga AI):1. Merrni Ki=0, Kd=0. Thjesht ekzekutoni P.2. Rriteni ngadalë Kp derisa të fillojë një lëkundje e qëndrueshme dhe e qëndrueshme.3. Kjo Kp = Ku (fitimi kritik), periudha e lëkundjes = Tu.4. Njehsoni Kp, Ti, Td nga tabela; Ki = Kp/Ti, Kd = Kp*Td.5. Filloni me këto vlera, më pas bëni ndryshime eksperimentale.

Kujdes: Ziegler-Nichols e sjell qëllimisht sistemin në kufirin e qëndrueshmërisë (lëkundje të qëndrueshme). Ekziston rreziku i tendosjes mekanike, mbirrymës dhe rrezikut kur e bëni këtë në pajisje reale; Nëse është e mundur, bëjeni fillimisht në simulim, pastaj punoni me kufirin e ulët të fuqisë dhe E-stop në harduer. Ku e sugjeruar nga AI është një pikënisje, ajo matet dhe verifikohet në sistemin tuaj.

Diagnostifikimi i asistuar nga AI

Ju mund të diagnostikoni sjelljen PID duke ia përshkruar atë AI. Simptoma → harta e shkakut të mundshëm:

simptomë

shkaku i mundshëm

Drejtimin që do të sugjerojë AI

ulur ngadalë

Kp/Ki i ulët

rritet kp

Gabim i përhershëm

Unë mungoj ose jam shumë i ulët

Ki shtoj/rrit

Mbikalim + lëkundje

Kp/Ki e lartë, jo D

Shto Kd, Zvogëlo Ki

Aktuatori po dridhet

zhurma derivative

Filtro/zvogëlo D

Kur arrini tejkalimin e madh

mbyllje integrale

Shto anti-windup

Prompt i dobët / Prompt i fortë

I DOBËT:"Jepni fitimet PID."(Cili sistem? Si është sjellja? A ka ndonjë matje? Vjen numra të rastësishëm.) FORTË:"Po rregulloj PID-in për një kontroll të shpejtësisë së motorit DC. Aktualisht, Kp=2, Ki=0.5, Kd=0. Kapërcen 35% në hyrjen e hapit dhe kur arrin një kohë të gjatë për të xhiruar objektivin, është 100 Hz Rendisni arsyet e mundshme nga këto simptoma, të cilat fitojnë "Sugjeroni se cilin drejtim duhet ta ndryshoj dhe më tregoni se si të testoj nëse tejkalimi është një mbyllje integrale."

Mini Case

Inxhinieri i kontrollit Kerem rregullon kontrollin e temperaturës së një ekstruderi. Me përfitimet e sugjeruara nga AI, sistemi arrin objektivin shpejt, por në çdo ndryshim grupi bën një tejkalim të madh dhe ngadalë qetësohet. Kerem ia shpjegon simptomat AI; AI dyshon në mbyllje integrale sepse ngrohësi mbetet në fuqi të plotë (i ngopur) për një kohë. Kerem shton anti-windup në kodin PID dhe tejkalimi zvogëlohet ndjeshëm. Por tani ka një dridhje të lehtë në prizën e ngrohësit; Ai ia atribuon këtë termit D që përforcon zhurmën e sensorit të temperaturës dhe shton një filtër me kalim të ulët në derivat. Më në fund, vërteton afërsisht përfitimet me Ziegler-Nichols dhe kryen akordim eksperimental. AI ka një diagnozë të shpejtë; Por Kerem konfirmoi çdo korrigjim duke matur përgjigjen aktuale të hapit - nëse mbyllja ishte korrigjuar apo dridhja e zhdukur, ajo mund të shihej vetëm grafikisht.

Gabimet e zakonshme

  • Dështimi në shtimin e ngopjes së daljes dhe anti-mbushjes në PID dhe përjetimi i një tejkalimi të madh në kufirin e aktivizuesit.
  • Marrja e derivatit nga derivati ​​i matjes së zhurmshme dhe vibrimi i aktuatorit.
  • Duke supozuar se dt është konstante, ndërsa periudha e marrjes së mostrave ndryshon.
  • Kryerja e testit të lëkundjes Ziegler-Nichols në pajisje pa masa paraprake sigurie.
  • Pranimi i fitimeve të gjeneruara nga AI si "përfundimtare" pa verifikim specifik të sistemit.
  • Ndryshimi i një fitimi të vetëm me hapa shumë të mëdhenj dhe shtyrja e sistemit në paqëndrueshmëri.

Në përmbledhje

  • PID; Ai reagon me P (gabim aktual), I (gabim i akumuluar), D (shkalla e ndryshimit të gabimit).
  • PID në terren duhet të përfshijë ngopjen e daljes, filtrin anti-përfundues dhe derivat.
  • Mbyllja e integruar tejkalim i madh, zhurma e derivatit shkakton dridhje të aktivizuesit.
  • Ziegler-Nichols fillon të fitojë; Zbatohet me masa sigurie në harduer.
  • AI është i shpejtë në diagnostikim nga simptoma në shkak; Korrigjimi verifikohet me matje.
  • dt e matur aktuale; Ndryshimet e fitimeve bëhen me hapa të vegjël dhe vëzhgim.

Detyra e aplikimit

Zgjidh një sistem (motor/ngrohës i vërtetë ose një model i thjeshtë i rendit të parë/të dytë në Python) dhe lëre që AI të krijojë një klasë PID me ngopje + anti-mbytje. Pastaj: (1) vëzhgoni sjelljen e lëkundjes duke filluar vetëm me P dhe duke rritur Kp, (2) shtoni Ki për të eliminuar gabimin e përhershëm dhe shikoni se si rritet tejkalimi, (3) krahasoni efektin në tejkalimin e madh duke ndezur dhe fikur anti-përmbysjen. Paraqitni përgjigjen e hapit në çdo hap dhe vini re se cili përfitim ndryshon cilën sjellje. Krahasoni fitimet nga Ziegler-Nichols me fitimet që keni gjetur vetë.