Naúrar 5 / 9

Algorithms Sarrafa: PID da AI Taimakawa Tuning

Riba:

  • Ikon yin bayani da amfani da sharuɗɗan P, I, D da tasirin PID mai kula da AI tare da mahallin da ya dace.
  • Ikon aiwatar da Ziegler-Nichols da hanyoyin daidaita gwaji mataki-mataki tare da taimakon AI
  • Ƙarfin ganewa da kawar da tarkon PID kamar haɗakar iska, hayaniya mai ƙima a cikin shawarwarin AI

Tsayawa yawan zafin jiki na tanda akai-akai, motsa saurin mota a ƙimar da ake so, daidaita kusurwar drone; A zuciyar dukkan su shine algorithm mai sarrafawa. Mafi na kowa daga cikin wadannan shine PID controller, wanda shine kashin bayan masana'antu. PID; Yana da sauƙi, mai ƙarfi kuma yana aiki akan matsaloli masu yawa. Amma "mai sauƙi" baya nufin "sauƙi don kunnawa": PID ɗin da ba daidai ba zai yi jujjuyawa, ya wuce gona da iri, ya zauna a makare, ko ya zama marar kwanciyar hankali. Hankali na wucin gadi shine mataimaki mai mahimmanci anan: yana bayanin sharuɗɗan PID, yana jagora ta hanyoyin daidaitawa, bincikar ramummuka na yau da kullun kuma yana rubuta lambar kunnawa. Koyaya, ana yin gyare-gyaren ƙarshe ta hanyar kallon yanayin yanayin tsarin ku kuma yanke shawarar kwanciyar hankali na injiniya ne. A cikin wannan rukunin mun rufe yadda ake girka, kunnawa, da kuma tabbatar da tarkon PID tare da AI.

Sharuɗɗa uku na PID

PID yana amsa siginar kuskure (e = manufa - auna) ta hanyoyi uku:

lokaci

Me yake kallo?

Tasiri

a matsananci

P (daidaitacce)

kuskure na yanzu

amsa da sauri

Oscillation, kuskure na dindindin

I (na sirri)

Kuskuren da aka taru a baya

Yana sake saita kuskure na dindindin

overshoot, windup, oscillation

D (na asali)

Yawan canjin kuskure

Damping yana rage yawan harbe-harbe

Ƙara amo

Takaitacciyar Magana: P ya amsa tambayoyin "yaya nisa nake yanzu", I" yaushe na yi tafiya", D "yaya sauri nake gabatowa". Kyakkyawan mai sarrafawa yana daidaita duk ukun.

class PID: def __init__ (kai, Kp, Ki, Kd, fitarwa_min = -100, fitarwa_max = 100): self.Kp, self.Ki, self.Kd = Kp, Ki, Kd self.out_min, self.out_max = fitarwa_min, fitarwa_max kai.integral = 0.0 kai ƙididdigewa, ƙaddarar kai. kuskure = manufa - ma'auni # P p = self.Kp * kuskure # I --self.integral tare da windup kariya += kuskure * dt i = self.Ki * self.integral # D -- derivative amo m d = self.Kd * (kuskure - self.previous_error) / dt self.previous_error = kuskure fita = p + i + d # madaidaicin fitarwa idan fitarwa. self.out_max self.integral -= kuskure * dt # anti-windup: sake gyara kayan aikin elif <self.output_min: fitarwa = self.output_min self.integral -= kuskure * dt dawo da fitarwa

Wannan lambar ba "horon PID" ba ce, amma kwarangwal kusa da dabaru na samarwa: ya haɗa da saturation na fitarwa da kuma hana iska. Yawancin PIDs masu sauƙi da AI ke ba da su suna ƙetare waɗannan kariyar guda biyu; Idan ba tare da su ba, lokacin da mai kunnawa ya kai iyakarsa, haɗin gwiwar zai kumbura kuma tsarin zai mamaye ba zato ba tsammani.

Tukwici: Lokacin tambayar AI don PID ka ce "ƙara jikewar fitarwa da rigakafin iska, yi amfani da abin ƙira akan ma'auni zuwa ƙayyadaddun lokaci". Waɗannan ƙarin abubuwa guda uku suna canza littafin PID zuwa filin PID.

Haɗin Windup da Hayaniyar Haɓaka

Matsalolin gargajiya guda biyu sune mafi yawan abubuwan da ke haifar da gazawar PID:

Hadaddiyar iska: Lokacin da mai kunnawa ya cika (misali motar ta riga ta sami cikakken iko) kuskuren ya ci gaba da ci gaba da girma. Wannan kumbura na haɗakarwa yana haifar da babban overshoot lokacin da tsarin ya kai ga manufa. Magani: Tsayawa ko mirgina abin haɗin kai lokacin da abin da aka fitar ya cika (anti-windup, wanda aka nuna a lambar da ke sama).

Hayaniyar Haɓaka: Kalmar D tana ɗaukar asalin kuskuren; Asalin ma'aunin hayaniya ya fi surutu kuma zai girgiza mai kunnawa. Magani: Ɗaukar abin da aka samo daga ma'auni (wanda aka samu daga ma'auni maimakon kuskure), ƙara ƙaramar tacewa zuwa kalmar da aka samo asali.

# Rage amo mai ƙima: ma'aunin ma'auni + filterd_raw = -(aunawa - self.previous_measured) / dt maimakon kuskure

AI yana da kyau wajen gano waɗannan ramukan; Idan ka ce "PID na ya yi yawa sosai lokacin da ya kai ga manufa", yana ba da shawarar iska. Amma kuna tabbatar ta hanyar auna ko gyaran yana aiki akan tsarin ku.

Saita tare da Ziegler-Nichols

Hanyar gargajiya don nemo riba (Kp, Ki, Kd) daga karce ita ce Ziegler-Nichols. Mahimmancinsa: farawa kawai tare da P da haɓaka Kp har sai tsarin ya shiga cikin motsi mai dorewa; Yi lissafin Kp, Ki, Kd daga tebur tare da riba mai mahimmanci Ku da lokacin oscillation Tu a wannan lokacin.

mai sarrafawa

kp

Ti

Td

P.

0.5 · Ku

-

-

P.I.

0.45 · Ku

Tu/1.2

-

PID

0.6 · Ku

Tu/2

Tu/8

Matakan Ziegler-Nichols (shirin da AI za ta yi):1. Dauki Ki=0, Kd=0. Kawai gudu P.2. SANNU YANA KARA Kp har sai an sami kwanciyar hankali, dawwamammiyar matsi.3. Wannan Kp = Ku (riba mai mahimmanci), lokacin oscillation = Tu.4. Yi lissafin Kp, Ti, Td daga tebur; Ki = Kp/Ti, Kd = Kp*Td.5. Fara da waɗannan ƙimar, sannan yi tweaks na gwaji.

Tsanaki: Ziegler-Nichols da gangan ya kawo tsarin zuwa iyakar kwanciyar hankali (cirewa oscillation). Akwai haɗarin nau'in inji, wuce haddi da haɗari lokacin yin wannan akan kayan aiki na gaske; Idan zai yiwu, yi shi a cikin simulation da farko, sannan yi aiki tare da ƙarancin wutar lantarki da E-Stop a hardware. Ku da AI ya ba da shawara shine wurin farawa, ana auna shi kuma an tabbatar dashi a cikin tsarin ku.

AI-Assistant Diagnostics

Kuna iya tantance halin PID ta hanyar kwatanta shi ga AI. Alamar → mai yuwuwar haifar da taswira:

alama

dalili mai yiwuwa

Hanyar AI za ta ba da shawara

a hankali zaune

Kp/Ki low

girma kp

Kuskure na dindindin

Ba na nan ko kaɗan

Ki ƙara/ƙara

Overshoot + oscillation

Kp/Ki babba, babu D

Ƙara Kd, Rage Ki

Actuator yana girgiza

hayaniya na asali

Tace/rage D

Lokacin da kuka isa babban wuce

haɗakar iska

Ƙara anti-windup

Rauni Mai Sauƙi / Ƙarfi Mai ƙarfi

RAUNI: "Ba da damar PID." (Wanne tsarin? Yaya halin yake? Shin akwai ma'auni? Lambobin bazuwar sun zo.) KARFI: "Ina daidaitawa da PID don sarrafa saurin motsi na DC. A halin yanzu, Kp = 2, Ki = 0.5, Kd = 0. Yana overshoots 35% akan shigarwar mataki kuma lokacin da ya kai ga manufa, akwai babban lokaci don daidaitawa na biyu. Hz. Lissafa dalilai masu yuwuwa daga waɗannan alamomin, waɗanda ke samun "Bayar da shawarar wacce zan canza ta kuma gaya mani yadda zan gwada ko overshoot ɗin iska ce mai mahimmanci."

Mini Case

Injiniyan sarrafawa Kerem yana daidaita yanayin zafin mai extruder. Tare da nasarorin da AI ya ba da shawara, tsarin ya kai ga maƙasudin da sauri, amma a kowane saiti ya canza yana yin babban girma kuma a hankali ya zauna. Kerem ya bayyana alamar zuwa AI; AI yana zargin iskar haɗin gwiwa saboda mai zafi ya kasance a cikakken iko (cikakken) na ɗan lokaci. Kerem yana ƙara anti-windup zuwa lambar PID kuma overshoot yana raguwa sosai. Amma yanzu akwai ƴan ƙwalƙwalwa a ma'aunin dumama; Ya dangana wannan ga kalmar D yana haɓaka hayaniyar firikwensin zafin jiki kuma yana ƙara matattarar ƙarancin wucewa zuwa abin da aka samo asali. A ƙarshe, yana tabbatar da ƙimar da aka samu tare da Ziegler-Nichols kuma yana yin kyakkyawan daidaitawa na gwaji. AI yana da saurin ganewar ganewa; Amma Kerem ya tabbatar da kowane gyare-gyare ta hanyar auna ainihin martanin mataki-ko an gyara iska ko kuma ya tafi, ana iya gani kawai ta hanyar hoto.

Kuskuren gama gari

  • Rashin ƙara saturation na fitarwa da anti-windup zuwa PID da fuskantar babban abin wuce gona da iri a iyakar mai kunnawa.
  • Ɗaukar abin da aka cire daga abin da aka samo daga ma'aunin hayaniya da girgiza mai kunnawa.
  • Zaton dt yana dawwama, yayin da lokacin samfurin ya bambanta.
  • Yin gwajin oscillation na Ziegler-Nichols akan kayan aiki ba tare da kiyaye tsaro ba.
  • Karɓar kuɗin da AI ke samarwa a matsayin "ƙarshe" ba tare da takamaiman takamaiman tsarin ba.
  • Canza riba guda ɗaya tare da manyan matakai da tura tsarin cikin rashin kwanciyar hankali.

A takaice

  • PID; Yana amsawa tare da P (kuskuren yanzu), I (kuskuren tarawa), D (yawan canjin kuskure).
  • Filin PID yakamata ya haɗa da jikewar fitarwa, anti-windup da tacewa mai ƙira.
  • Haɗe-haɗen iska mai girma da yawa, hayaniyar da ke haifar da girgiza mai kunnawa.
  • Ziegler-Nichols ya fara samun riba; Ana aiwatar da shi tare da matakan tsaro a cikin kayan aiki.
  • AI yana da sauri a cikin ganewar asali daga alama zuwa haifar; Ana tabbatar da gyara ta hanyar aunawa.
  • dt ainihin ma'auni; Ana yin canje-canjen samun kuɗi a cikin ƙananan matakai da kallo.

Aikin aikace-aikace

Zaɓi tsarin (mota na gaske / mai zafi ko tsari mai sauƙi na farko/biyu a cikin Python) kuma ku sami AI ta haifar da ajin PID tare da saturation + anti-windup. Sa'an nan: (1) lura da yanayin oscillation ta farawa da P kawai kuma ƙara Kp, (2) ƙara Ki don kawar da kuskuren dindindin kuma duba yadda overshoot ya karu, (3) kwatanta tasirin akan babban overshoot ta kunna da kashe anti-windup. Shirya martanin mataki a kowane mataki kuma lura da abin da ya sami canjin wane hali. Kwatanta ribar da aka samu daga Ziegler-Nichols tare da ribar da kuka samu kanku.