Unità 5 / 9

Algoritmi ta' Kontroll: Irfinar Sostnut minn PID u AI

Qligħ:

  • Kapaċità li tispjega u tapplika t-termini P, I, D u l-effetti tal-kontrollur PID għall-AI bil-kuntest it-tajjeb
  • Kapaċità li twettaq Ziegler-Nichols u metodi sperimentali ta 'rfinar pass pass bl-għajnuna ta' AI
  • Kapaċità li tirrikonoxxi u telimina nases PID bħal windup integrali, storbju derivattiv fir-rakkomandazzjonijiet tal-AI

Żomm it-temperatura ta 'forn kostanti, issuq il-veloċità ta' mutur f'valur mixtieq, jibbilanċja l-angolu ta 'drone; Fil-qalba tagħhom kollha hemm algoritmu ta 'kontroll. L-aktar komuni minn dawn huwa l-kontrollur PID, li huwa s-sinsla tal-industrija. PID; Huwa sempliċi, robust u jaħdem fuq firxa wiesgħa ta 'problemi. Iżda "sempliċi" ma jfissirx "faċli biex tissettja": PID issettjat b'mod żbaljat se joxxilla, jaqbeż, joqgħod tard, jew isir kompletament instabbli. L-intelliġenza artifiċjali hija assistent ta 'valur hawnhekk: tispjega t-termini tal-PID, tiggwida permezz ta' metodi ta 'rfinar, tiddijanjostika n-nases tipiċi u tikteb il-kodiċi tal-irfinar. Madankollu, l-aġġustament finali jsir billi tħares lejn l-imġieba fiżika tas-sistema tiegħek u d-deċiżjoni tal-istabbiltà tappartjeni lill-inġinier. F'din l-unità aħna nkopru kif tinstalla, tixgħel u tivverifika n-nases PID bl-AI.

Tliet Termini tal-PID

Il-PID jirrispondi għas-sinjal tal-iżball (e = mira − imkejla) fi tliet modi:

terminu

Xi jħares lejn?

Effett

fl-estrem

P (proporzjonali)

żball kurrenti

rispons mgħaġġel

Oxxillazzjoni, żball permanenti

jien (integrali)

Żball fil-passat akkumulat

Resets żball permanenti

overshoot, windup, oxxillazzjoni

D (derivat)

Rata ta' bidla ta' żball

Id-damping inaqqas il-qabża

Amplifika l-istorbju

Sommarju verbali: P iwieġeb għall-mistoqsijiet "kemm jien issa", jien "kemm ilni bogħod", D "kemm qed noqrob". Kontrollur tajjeb jibbilanċja t-tlieta.

klassi PID: def __init__(self, Kp, Ki, Kd, output_min=-100, output_max=100): self.Kp, self.Ki, self.Kd = Kp, Ki, Kd self.out_min, self.out_max = output_min, output_max self.integral = 0.0 self.integral = 0.0 self.previous, self. żball = mira - imkejla # P p = self.Kp * żball # I - self.integral mal-protezzjoni windup += żball * dt i = self.Ki * self.integral # D - derivattiv ħoss ħsejjes sensittivi d = self.Kd * (iżball - self.previous_error) / dt self.previous_error = żball out = p + i + dt i = self.Ki * self.integral # D - ħsejjes derivattivi sensittivi d = self. self.integral -= żball * dt # anti-windup: ħoll l-output elif integrali < self.output_min: output = self.output_min self.integral -= żball * dt output output

Dan il-kodiċi mhuwiex "PID ta 'taħriġ", iżda skeletru qrib il-loġika tal-produzzjoni: jinkludi saturazzjoni tal-output u anti-windup. Ħafna PIDs sempliċi mogħtija mill-AI bypass dawn iż-żewġ protezzjonijiet; Mingħajrhom, meta l-attwatur jilħaq il-limitu tiegħu, l-integral jintefħu u s-sistema se taqbeż b'mod mhux mistenni.

Tip: Meta titlob lill-AI għall-PID għid "żid saturazzjoni tal-output u kontra l-istralċ, applika derivattiv fuq il-kejl għal terminu derivattiv". Dawn it-tliet żidiet jikkonvertu l-PID tal-ktieb għall-PID tal-qasam.

Windup Integrali u Storbju Derivat

Żewġ nases klassiċi huma l-aktar kawżi komuni ta' falliment tal-PID:

Windup integrali: Meta l-attwatur jissatura (eż. il-mutur ikun diġà bil-qawwa sħiħa) l-iżball jippersisti u t-terminu integrali jkompli jikber. Din l-integral minfuħa twassal għal qabża kbira meta s-sistema tilħaq il-mira. Soluzzjoni: waqfien jew rolling lura tal-integral meta l-output ikun saturat (anti-windup, muri fil-kodiċi ta 'hawn fuq).

Ħoss derivattiv: It-terminu D jieħu d-derivattiv tal-iżball; Id-derivattiv ta 'kejl storbjuż huwa ħafna aktar storbjuż u se jivvibra l-attwatur. Soluzzjonijiet: tieħu d-derivattiva mill-kejl (derivattiva tal-kejl minflok l-iżball), żżid filtru low pass mat-terminu derivattiv.

# Tnaqqis tal-ħoss derivattiv: derivattiv tal-kejl + filterd_raw = -(imkejjel - self.previous_measured) / dt minflok żball

L-IA hija tajba biex tidentifika dawn in-nases; Jekk tgħid "Il-PID tiegħi jaqbeż ħafna meta jilħaq il-mira", jirrakkomanda l-istralċ. Imma inti tivverifika billi tkejjel jekk il-fiss jaħdem fuq is-sistema tiegħek.

L-issettjar ma' Ziegler-Nichols

Metodu klassiku biex jinstabu qligħ (Kp, Ki, Kd) mill-bidu huwa Ziegler-Nichols. L-essenza tagħha: tibda biss b'P u żżid Kp sakemm is-sistema tidħol f'oxxillazzjoni sostnuta; Ikkalkula Kp, Ki, Kd mit-tabella bil-gwadann kritiku Ku u l-perjodu ta 'oxxillazzjoni Tu f'dan il-punt.

kontrollur

kp

Ti

Td

P.

0.5·Ku

P.I.

0.45·Ku

Tu/1.2

PID

0.6·Ku

Tu/2

Tu/8

Passi Ziegler-Nichols (pjan li għandu jsir mill-AI):1. Ħu Ki=0, Kd=0. Mexxi biss P.2. Żid Kp bil-mod sakemm tibda oxxillazzjoni stabbli u sostnuta.3. Dan Kp = Ku (gwadann kritiku), perjodu ta 'oxxillazzjoni = Tu.4. Ikkalkula Kp, Ti, Td mit-tabella; Ki = Kp/Ti, Kd = Kp*Td.5. Ibda b'dawn il-valuri, imbagħad agħmel tweaks sperimentali.

Attenzjoni: Ziegler-Nichols deliberatament iġib is-sistema għal-limitu ta 'stabbiltà tagħha (oxxillazzjoni sostnuta). Hemm riskju ta 'tensjoni mekkanika, kurrent żejjed u periklu meta tagħmel dan fuq ħardwer reali; Jekk possibbli, agħmel dan f'simulazzjoni l-ewwel, imbagħad taħdem b'limitu ta 'enerġija baxxa u E-stop fil-ħardwer. Il-Ku ssuġġerit mill-AI huwa punt tat-tluq, huwa mkejjel u vverifikat fis-sistema tiegħek.

Dijanjostiċi Megħjuna mill-AI

Tista' tiddijanjostika l-imġieba tal-PID billi tiddeskriviha lill-AI. Sintomu → immappjar tal-kawża possibbli:

sintomu

kawża possibbli

Id-direzzjoni AI se tissuġġerixxi

bil-mod seduta

Kp/Ki baxx

żieda kp

Żball permanenti

I huwa assenti jew baxx ħafna

Ki żid/iżżid

Overshoot + oxxillazzjoni

Kp/Ki għoli, l-ebda D

Żid Kd, Naqqas Ki

L-attwatur qed jitħawwad

ħsejjes derivattivi

Iffiltra/naqqas D

Meta tilħaq il-kbar jaqbeż

stralċ integrali

Żid kontra l-windup

Prompt Dgħajjef / Prompt Qawwija

DGĦAJFJA: "Agħti l-qligħ PID." (Liema sistema? Kif inhi l-imġieba? Hemm xi kejl? Jiġu numri bl-addoċċ.) STRONG: "Qed naġġusta l-PID għal kontroll tal-veloċità tal-mutur DC. Bħalissa, Kp = 2, Ki = 0.5, Kd = 0. Jeċċedi 35% fuq l-input tal-pass u meta jilħaq it-tieni mira, hemm żmien twil kbir biex isalda. 100 Hz Elenka r-raġunijiet possibbli minn dawn is-sintomi, li jiksbu "Issuġġerixxi f'liema direzzjoni għandi nibdelha u għidli kif nittestja jekk l-overshoot huwiex integrali."

Kawża Mini

L-inġinier tal-kontroll Kerem jaġġusta l-kontroll tat-temperatura ta 'estrużur. Bil-qligħ suġġerit mill-AI, is-sistema tilħaq il-mira malajr, iżda f'kull bidla tas-sett tagħmel qabża kbira u tissetilja bil-mod. Kerem jispjega s-sintomu lill-AI; L-AI tissuspetta li l-istralċ integrali minħabba li l-heater jibqa 'f'qawwa sħiħa (saturat) għal xi żmien. Kerem iżid anti-windup mal-kodiċi PID u l-overshoot jonqos b'mod sinifikanti. Imma issa hemm teptip żgħir fl-iżbokk tal-heater; Huwa jattribwixxi dan għat-terminu D li jamplifika l-istorbju tas-sensor tat-temperatura u jżid filtru low-pass mad-derivattiv. Fl-aħħarnett, jivvalida bejn wieħed u ieħor il-qligħ ma 'Ziegler-Nichols u jwettaq irfinar sperimentali. AI għandha dijanjosi mgħaġġla; Iżda Kerem ikkonferma kull korrezzjoni billi kejjel ir-rispons tal-pass attwali—kemm jekk l-istralċ ġie kkoreġut jew it-teptip marret, setgħet tidher biss b'mod grafiku.

Żbalji Komuni

  • Naqset li żżid is-saturazzjoni tal-output u l-anti-windup mal-PID u tesperjenza qabża kbira fil-limitu tal-attwatur.
  • Jieħdu d-derivattiv mid-derivattiv tal-kejl storbjuż u jivvibra l-attwatur.
  • Jekk wieħed jassumi dt huwa kostanti, filwaqt li l-perjodu ta' kampjunar ivarja.
  • Twettiq tat-test ta 'oxxillazzjoni Ziegler-Nichols fuq hardware mingħajr prekawzjonijiet ta' sigurtà.
  • Taċċetta qligħ iġġenerat mill-AI bħala "finali" mingħajr verifika speċifika għas-sistema.
  • Nibdlu gwadann wieħed b'passi kbar ħafna u timbotta s-sistema f'instabilità.

Fil-qosor

  • PID; Jirreaġixxi ma 'P (żball kurrenti), I (żball akkumulat), D (rata ta' bidla ta 'żball).
  • Field PID għandu jinkludi saturazzjoni tal-output, anti-windup u filtru derivattiv.
  • Windup integrali overshoot kbir, ħsejjes derivattivi jikkawża vibrazzjoni attwatur.
  • Ziegler-Nichols jagħti bidu għall-gwadann; Huwa implimentat b'miżuri ta 'sigurtà fil-hardware.
  • L-AI hija rapida fid-dijanjosi minn sintomu għal kawża; Il-korrezzjoni hija vverifikata bil-kejl.
  • dt attwali mkejla; Bidliet fil-qligħ isiru f'passi żgħar u osservazzjoni.

Kompitu ta' applikazzjoni

Agħżel sistema (mutur reali/heater jew mudell sempliċi tal-ewwel/tieni ordni f'Python) u agħmel li l-AI tiġġenera klassi PID b'saturazzjoni + anti-windup. Imbagħad: (1) osserva l-imġieba tal-oxxillazzjoni billi tibda b'P biss u żżid Kp, (2) żid Ki biex telimina l-iżball permanenti u tara kif tiżdied il-overshoot, (3) qabbel l-effett fuq l-overshoot kbir billi ddawwar kontra l-windup mixgħul u mitfi. Iplottja r-rispons tal-pass f'kull pass u nnota liema qligħ jibdel liema imġieba. Qabbel il-qligħ minn Ziegler-Nichols mal-qligħ li sibt lilek innifsek.