Birlik 5 / 9

Boshqarish algoritmlari: PID va AI tomonidan qo'llab-quvvatlanadigan sozlash

Daromadlar:

  • PID kontrollerning P, I, D shartlarini va effektlarini to'g'ri kontekst bilan AIga tushuntirish va qo'llash qobiliyati
  • AI yordamida Ziegler-Nichols va eksperimental sozlash usullarini bosqichma-bosqich amalga oshirish qobiliyati
  • AI tavsiyalarida integral o'chirish, lotin shovqin kabi PID tuzoqlarini tanib olish va yo'q qilish qobiliyati

Pechning haroratini doimiy ravishda ushlab turish, dvigatelning tezligini kerakli qiymatda haydash, dronning burchagini muvozanatlash; Ularning barchasining markazida boshqaruv algoritmi yotadi. Ulardan eng keng tarqalgani sanoatning tayanchi bo'lgan PID kontrolleridir. PID; Bu oddiy, mustahkam va keng ko'lamli muammolar ustida ishlaydi. Ammo "oddiy" "sozlash oson" degani emas: noto'g'ri o'rnatilgan PID tebranadi, oshib ketadi, kech o'tiradi yoki butunlay beqaror bo'lib qoladi. Sun'iy intellekt bu erda qimmatli yordamchidir: u PID atamalarini tushuntiradi, sozlash usullari bo'yicha yo'l-yo'riq beradi, odatiy tuzoqlarga tashxis qo'yadi va sozlash kodini yozadi. Biroq, oxirgi sozlash tizimingizning jismoniy xatti-harakatlariga qarab amalga oshiriladi va barqarorlik qarori muhandisga tegishli. Ushbu bo'limda biz AI bilan PID tuzoqlarini qanday o'rnatish, sozlash va tekshirishni ko'rib chiqamiz.

PIDning uchta sharti

PID xato signaliga (e = maqsad - o'lchangan) uchta usulda javob beradi:

muddat

U nimaga qaraydi?

Effekt

ekstremalda

P (proportsional)

joriy xato

tezkor javob

Tebranish, doimiy xato

I (integral)

Yig'ilgan o'tmishdagi xato

Doimiy xatolikni tiklaydi

oshib ketish, o'rash, tebranish

D (hosil)

Xatoning o'zgarish tezligi

Damping haddan tashqari tebranishlarni kamaytiradi

Shovqinni kuchaytiring

Og'zaki xulosa: P "men hozir qanchalik uzoqman", I "qancha vaqt uzoqdaman", D "qanchalik tez yaqinlashyapman" degan savollarga javob beradi. Yaxshi boshqaruvchi uchalasini ham muvozanatlashtiradi.

sinf 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 def, self.pres. o'lchangan, dt): xato = maqsad - o'lchangan # P p = self.Kp * xato # I -- o'chirish himoyasi bilan self.integral += xato * dt i = self.Ki * self.integral # D - lotin shovqinga sezgir d = self.Kd * (xato - self.previous_error) / dt self.previous_error = self.previous_error) / dt self.previous_error =dt self.previous va limiti # dt +chiqishi = paturaite. windup if output > self.output_max: output = self.out_max self.integral -= xato * dt # anti-windup: integralni bekor qilish elif chiqishi < self.output_min: chiqish = self.output_min self.integral -= xato * dt chiqish chiqishi

Bu kod "trening PID" emas, balki ishlab chiqarish mantig'iga yaqin skelet: u chiqishning to'yinganligi va anti-windupni o'z ichiga oladi. AI tomonidan berilgan ko'plab oddiy PIDlar bu ikki himoyani chetlab o'tadi; Ularsiz, aktuator o'z chegarasiga yetganda, integral shishiradi va tizim kutilmaganda oshib ketadi.

Maslahat: AIdan PIDni so'raganda, "chiqishning to'yinganligini va shamolga qarshiligini qo'shing, lotin atamasiga o'lchovda hosilani qo'llang" deb ayting. Ushbu uchta qo'shimcha darslik PID ni PID maydoniga aylantiradi.

Integral Windup va hosilaviy shovqin

Ikkita klassik tuzoq PID etishmovchiligining eng keng tarqalgan sabablari:

Integral o'chirish: Aktuator to'yingan bo'lsa (masalan, vosita allaqachon to'liq quvvatda bo'lsa) xatolik davom etadi va integral atama o'sishda davom etadi. Ushbu shishirilgan integral tizim maqsadga yetganda katta oshib ketishga olib keladi. Yechim: chiqish to‘yingan bo‘lganda integralni to‘xtatish yoki orqaga qaytarish (yuqoridagi kodda ko‘rsatilgan anti-windup).

Hosila shovqin: D termini xatoning hosilasini oladi; Shovqinli o'lchovning hosilasi ancha shovqinli va aktuatorni tebranadi. Yechimlar: o'lchovdan hosilani olish (xato o'rniga o'lchov hosilasi), hosila atamasiga past o'tish filtrini qo'shish.

# lotin shovqinini kamaytirish: o'lchov lotin + filterd_raw = -(o'lchangan - self.previous_measured) / dt xato o'rniga

AI bu tuzoqlarni aniqlashda yaxshi; Agar siz “Mening PID ko‘rsatkichim maqsadga yetganda juda oshib ketadi” desangiz, u o‘chirishni tavsiya qiladi. Ammo tuzatish tizimingizda ishlayotganligini o'lchash orqali tasdiqlaysiz.

Ziegler-Nichols bilan sozlash

Noldan daromadlarni (Kp, Ki, Kd) topishning klassik usuli Ziegler-Nikols hisoblanadi. Uning mohiyati: faqat P dan boshlab va tizim barqaror tebranish holatiga o'tguncha Kp ni oshirish; Jadvaldan Kp, Ki, Kd ni kritik daromad Ku va shu nuqtadagi tebranish davri Tu bilan hisoblang.

boshqaruvchi

kp

Ti

Td

P.

0,5·Ku

-

-

P.I.

0,45·Ku

Tu/1.2

-

PID

0,6·Ku

Tu/2

Tu/8

Ziegler-Nikols qadamlari (reja AI tomonidan amalga oshiriladi):1. Ki=0, Kd=0 ni oling. Faqat P.2-ni ishga tushiring. Barqaror, barqaror tebranish boshlangunga qadar Kp ni sekin oshiring.3. Bu Kp = Ku (kritik daromad), tebranish davri = Tu.4. Jadvaldan Kp, Ti, Td ni hisoblang; Ki = Kp/Ti, Kd = Kp*Td.5. Ushbu qiymatlardan boshlang, so'ngra eksperimental o'zgarishlar qiling.

Diqqat: Ziegler-Nichols ataylab tizimni barqarorlik chegarasiga (barqaror tebranish) olib keladi. Haqiqiy uskunada buni amalga oshirishda mexanik kuchlanish, ortiqcha oqim va xavf xavfi mavjud; Iloji bo'lsa, avval simulyatsiyada bajaring, keyin kam quvvat chegarasi va apparatda E-stop bilan ishlang. AI tomonidan taklif qilingan Ku boshlang'ich nuqtasi bo'lib, u tizimingizda o'lchanadi va tekshiriladi.

AI-yordamli diagnostika

PID xatti-harakatini AIga tavsiflash orqali tashxis qo'yishingiz mumkin. Alomat → mumkin bo'lgan sabablar xaritasi:

simptom

mumkin bo'lgan sabab

AI taklif qiladigan yo'nalish

sekin o'tirish

Kp/Ki past

kp oshirish

Doimiy xato

Men yo'q yoki juda pastman

Qo'shish/ko'paytirish

Haddan oshib ketish + tebranish

Kp/Ki yuqori, D yoʻq

Kd qo'shing, Ki ni kamaytiring

Aktuator titrayapti

hosilaviy shovqin

Filtrlash/kamaytirish D

Katta oshib ketganingizda

integral o'rash

Anti-windup qo'shing

Zaif taklif / Kuchli taklif

ZAFSIZ:"PID daromadlarini bering."(Qaysi tizim? Xulq-atvori qanday? Har qanday o'lchovlar bormi? Tasodifiy raqamlar keladi.)Kuchli:"Men DC vosita tezligini nazorat qilish uchun PIDni sozlayapman. Hozirda Kp=2, Ki=0,5, Kd=0. Qadam kiritishda u 35% dan oshib ketadi va u katta nishonga yetib borsa, u erda S katta vaqt talab etadi. 100 Gts ni tashkil qiladi. "Qaysi yo'nalishni o'zgartirish kerakligini taklif eting va haddan tashqari o'tish integral o'chirish yoki yo'qligini qanday tekshirishni ayting."

Mini sumka

Tekshirish muhandisi Kerem ekstruderning harorat nazoratini sozlaydi. AI tomonidan taklif qilingan yutuqlar bilan tizim tezda maqsadga erishadi, lekin har bir o'zgarishda u katta o'sishni amalga oshiradi va asta-sekin o'rnini bosadi. Kerem AIga simptomni tushuntiradi; AI integral o'chirishdan shubhalanadi, chunki isitgich bir muddat to'liq quvvatda (to'yingan) qoladi. Kerem PID kodiga anti-windup qo'shadi va oshib ketish sezilarli darajada kamayadi. Ammo endi isitgichning chiqishida ozgina miltillash bor; U buni harorat sensori shovqinini kuchaytiruvchi D atamasi bilan bog'laydi va lotinga past o'tkazuvchan filtr qo'shadi. Nihoyat, u Ziegler-Nichols bilan yutuqlarni taxminan tasdiqlaydi va eksperimental nozik sozlashni amalga oshiradi. AI tezkor tashxisga ega; Ammo Kerem har bir tuzatishni amaldagi qadam javobini oʻlchab tasdiqladi — oʻrash tuzatilganmi yoki miltillash yoʻqolganmi, buni faqat grafik tarzda koʻrish mumkin edi.

Umumiy xatolar

  • PID ga chiqishning toʻyinganligi va shamolga qarshi qoʻshilmayapti va aktuator chegarasida katta oshib ketish kuzatilmoqda.
  • Shovqinli o'lchov hosilasidan hosilani olish va aktuatorni tebranish.
  • Dt ni doimiy deb hisoblasak, namuna olish davri o'zgarib turadi.
  • Ziegler-Nichols tebranish testini xavfsizlik choralarisiz apparatda o'tkazish.
  • AI tomonidan yaratilgan daromadlarni tizimga xos tekshiruvsiz “yakuniy” sifatida qabul qilish.
  • Juda katta qadamlar bilan bitta daromadni o'zgartirish va tizimni beqarorlikka surish.

Xulosa

  • PID; U P (joriy xato), I (yig'ilgan xato), D (xato o'zgarish tezligi) bilan reaksiyaga kirishadi.
  • Maydon PID chiqishi to'yinganligi, shamolga qarshi va lotin filtrini o'z ichiga olishi kerak.
  • Integral o'rash katta oshib ketish, hosilaviy shovqin aktuator tebranishini keltirib chiqaradi.
  • Ziegler-Nichols g'alaba qozonishni boshlaydi; U apparatdagi xavfsizlik choralari bilan amalga oshiriladi.
  • AI simptomdan sababga qadar tez tashxis qo'yadi; Tuzatish o'lchov bilan tasdiqlanadi.
  • dt haqiqiy o'lchangan; Daromaddagi o'zgarishlar kichik qadamlar va kuzatishlar bilan amalga oshiriladi.

Ilova vazifasi

Tizimni tanlang (haqiqiy dvigatel/isitgich yoki Python-da oddiy birinchi/ikkinchi tartibli model) va sun'iy intellekt to'yinganlik + shamolga qarshi PID sinfini yaratsin. Keyin: (1) faqat P dan boshlab va Kp ni oshirish orqali tebranish harakatini kuzating, (2) doimiy xatoni bartaraf etish uchun Ki ni qo‘shing va oshib ketish qanday ortishini ko‘ring, (3) shamolga qarshi funksiyani yoqish va o‘chirish orqali katta oshib ketishga ta’sirni solishtiring. Har bir qadamda qadam javobini chizing va qaysi daromad qaysi xatti-harakatni o'zgartirishiga e'tibor bering. Ziegler-Nicholsning yutuqlarini o'zingiz topgan yutuqlar bilan solishtiring.