एकाइ 5 / 9

नियन्त्रण एल्गोरिदम: PID र AI समर्थित ट्युनिङ

लाभ:

  • सही सन्दर्भको साथ AI मा P, I, D सर्तहरू र PID नियन्त्रकको प्रभावहरू व्याख्या गर्न र लागू गर्ने क्षमता।
  • AI को सहयोगमा Ziegler-Nicols र प्रयोगात्मक ट्युनिङ विधिहरू चरणबद्ध रूपमा पूरा गर्ने क्षमता
  • एआई सिफारिसहरूमा अभिन्न विन्डअप, व्युत्पन्न आवाज जस्ता PID जालहरू पहिचान गर्ने र हटाउने क्षमता।

ओभनको तापक्रम स्थिर राख्दै, मोटरको गतिलाई इच्छित मानमा चलाउँदै, ड्रोनको कोणलाई सन्तुलनमा राख्दै; ती सबैको हृदयमा एक नियन्त्रण एल्गोरिथ्म छ। यी मध्ये सबैभन्दा सामान्य पीआईडी ​​नियन्त्रक हो, जुन उद्योगको मेरुदण्ड हो। PID; यो सरल, बलियो छ र समस्याहरूको विस्तृत दायरामा काम गर्दछ। तर "सरल" को मतलब "ट्यून गर्न सजिलो" होइन: गलत तरिकाले सेट गरिएको PID ले ओसिलिलेट, ओभरशुट, ढिलो बस्ने, वा पूर्ण रूपमा अस्थिर हुनेछ। कृत्रिम बुद्धिमत्ता यहाँ एक मूल्यवान सहायक हो: यसले PID सर्तहरू बताउँछ, ट्युनिङ विधिहरू मार्फत मार्गदर्शन गर्दछ, विशिष्ट त्रुटिहरूको निदान गर्दछ र ट्युनिङ कोड लेख्छ। यद्यपि, अन्तिम समायोजन तपाईंको प्रणालीको भौतिक व्यवहार हेरेर गरिन्छ र स्थिरता निर्णय इन्जिनियरको हो। यस एकाईमा हामीले AI सँग PID ट्र्यापहरू कसरी स्थापना गर्ने, ट्युन गर्ने र प्रमाणीकरण गर्ने भनेर कभर गर्छौं।

PID को तीन सर्तहरू

PID ले त्रुटि संकेत (e = target − मापन) लाई तीन तरिकामा प्रतिक्रिया दिन्छ:

अवधि

उसले के हेर्छ?

प्रभाव

चरम मा

P (आनुपातिक)

वर्तमान त्रुटि

छिटो प्रतिक्रिया

दोलन, स्थायी त्रुटि

म (अभिन्न)

संचित विगत त्रुटि

स्थायी त्रुटि रिसेट गर्दछ

overshoot, windup, oscillation

D (व्युत्पन्न)

त्रुटि को परिवर्तन दर

डम्पिङले ओभरशुट कम गर्छ

शोर बढाउनुहोस्

मौखिक सारांश: P प्रश्नहरूको जवाफ दिन्छ "म अहिले कति टाढा छु", म "म कति टाढा छु", D "कति छिटो म नजिक छु"। राम्रो नियन्त्रकले सबै तीनलाई सन्तुलनमा राख्छ।

वर्ग 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, आउटपुट_max self.integral = 0.0_self. 0.0.0.0 स्व. त्रुटि = 0.0. लक्ष्य, मापन गरिएको, dt): त्रुटि = लक्ष्य - मापन # P p = self.Kp * त्रुटि # I -- windup संरक्षणको साथ self.integral += error * dt i = self.Ki * self.integral # D -- व्युत्पन्न आवाज संवेदनशील d = self.Kd * (त्रुटि - self.previous_error) / ious p_tur = error = dt. आउटपुट र सीमा windup यदि आउटपुट > self.output_max: आउटपुट = self.out_max self.integral -= error * dt # anti-windup: integral elif आउटपुट अनडू गर्नुहोस् < self.output_min: output = self.output_min self.integral -= error * dt आउटपुट फर्काउनुहोस्

यो कोड "प्रशिक्षण PID" होइन, तर उत्पादन तर्कको नजिक एउटा कंकाल हो: यसले आउटपुट संतृप्ति र एन्टी-विन्डअप समावेश गर्दछ। AI द्वारा दिएका धेरै साधारण PID हरू यी दुई सुरक्षाहरू बाइपास गर्छन्; तिनीहरू बिना, जब actuator यसको सीमा पुग्छ, अभिन्न फुल्नेछ र प्रणाली अप्रत्याशित रूपमा ओभरशूट हुनेछ।

सुझाव: PID को लागि AI सोध्दा "आउटपुट संतृप्ति र एन्टी-विन्डअप थप्नुहोस्, व्युत्पन्न शब्दमा मापनमा व्युत्पन्न लागू गर्नुहोस्" भन्नुहोस्। यी तीन थपहरूले पाठ्यपुस्तक PID लाई क्षेत्र PID मा रूपान्तरण गर्दछ।

इन्टिग्रल विन्डअप र व्युत्पन्न शोर

PID विफलताको सबैभन्दा सामान्य कारणहरू दुई क्लासिक हानिहरू हुन्:

Integral windup: जब actuator saturates (उदाहरणका लागि मोटर पहिले नै पूर्ण शक्तिमा छ) त्रुटि कायम रहन्छ र अभिन्न शब्द बढ्दै जान्छ। जब प्रणाली लक्ष्यमा पुग्छ यो फुलाइएको अभिन्न ठूलो ओभरशूटमा जान्छ। समाधान: जब आउटपुट संतृप्त हुन्छ (एन्टि-विन्डअप, माथिको कोडमा प्रदर्शन गरिएको) जब इन्टिग्रललाई रोक्न वा रोल ब्याक गर्नुहोस्।

व्युत्पन्न आवाज: D शब्दले त्रुटिको व्युत्पन्न लिन्छ; एक शोर मापन को व्युत्पन्न धेरै शोर छ र actuator कम्पन हुनेछ। समाधानहरू: मापनबाट व्युत्पन्न लिँदै (त्रुटिको सट्टा मापनको व्युत्पन्न), व्युत्पन्न शब्दमा कम पास फिल्टर थप्दै।

# व्युत्पन्न आवाज घटाउँदै: मापन व्युत्पन्न + फिल्टर_करा = -(मापन - self.previous_maasured) / dt त्रुटिको सट्टा

AI यी कमजोरीहरू पहिचान गर्न राम्रो छ; यदि तपाइँ "My PID लक्ष्यमा पुग्दा धेरै ओभरशूट" भन्नुहुन्छ भने, यसले windup सिफारिस गर्छ। तर तपाईंले आफ्नो प्रणालीमा फिक्स काम गर्छ कि गर्दैन भनेर मापन गरेर प्रमाणित गर्नुहुन्छ।

Ziegler-Nichols संग सेटिङ

स्क्र्याचबाट लाभ (Kp, Ki, Kd) फेला पार्नको लागि एक क्लासिक विधि Ziegler-Nichols हो। यसको सार: P बाट मात्र सुरु गर्दै र प्रणाली दिगो दोलनमा नजाउन्जेल Kp बढाउँदै; यस बिन्दुमा महत्वपूर्ण लाभ Ku र दोलन अवधि Tu संग तालिकाबाट Kp, Ki, Kd गणना गर्नुहोस्।

नियन्त्रक

kp

ति

Td

P.

०.५·कु

-

-

P.I

०.४५·कु

Tu/1.2

-

PID

०.६·कु

Tu/2

Tu/8

Ziegler-Nicols कदम (एआई द्वारा बनाईएको योजना):1। Ki=0, Kd=0 लिनुहोस्। P.2 चलाउनुहोस्। स्थिर, दिगो दोलन सुरु नभएसम्म Kp बिस्तारै बढाउनुहोस्।3। यो Kp = Ku (महत्वपूर्ण लाभ), दोलन अवधि = Tu.4। तालिकाबाट Kp, Ti, Td गणना गर्नुहोस्; Ki = Kp/Ti, Kd = Kp*Td.5। यी मानहरूसँग सुरु गर्नुहोस्, त्यसपछि प्रयोगात्मक ट्वीकहरू बनाउनुहोस्।

सावधानी: Ziegler-Nicols ले जानाजानी प्रणालीलाई यसको स्थिरता सीमा (स्थायि दोलन) मा ल्याउँछ। वास्तविक हार्डवेयरमा यो गर्दा मेकानिकल तनाव, ओभरकरेन्ट र खतराको जोखिम हुन्छ; यदि सम्भव छ भने, यसलाई पहिले सिमुलेशनमा गर्नुहोस्, त्यसपछि कम पावर सीमा र हार्डवेयरमा ई-स्टपको साथ काम गर्नुहोस्। AI द्वारा सुझाव गरिएको Ku एक सुरूवात बिन्दु हो, यो तपाईंको प्रणालीमा मापन र प्रमाणित हुन्छ।

एआई-सहायता निदान

तपाईंले AI मा वर्णन गरेर PID व्यवहारको निदान गर्न सक्नुहुन्छ। लक्षण → सम्भावित कारण म्यापिङ:

लक्षण

सम्भावित कारण

दिशा AI ले सुझाव दिनेछ

ढिलो बस्ने

Kp/Ki कम

kp वृद्धि

स्थायी त्रुटि

म अनुपस्थित वा धेरै कम छु

थप्नुहोस्/बढाउनुहोस्

ओभरशुट + दोलन

Kp/Ki उच्च, कुनै D

Kd थप्नुहोस्, Ki घटाउनुहोस्

एक्चुएटर हल्लिरहेको छ

व्युत्पन्न शोर

फिल्टर/कम D

जब तपाईं ठूलो पार पुग्नुहुन्छ

अभिन्न windup

विरोधी windup थप्नुहोस्

कमजोर प्रम्प्ट / बलियो प्रम्प्ट

कमजोर:"PID लाभहरू दिनुहोस्।"(कुन प्रणाली? व्यवहार कस्तो छ? त्यहाँ कुनै मापनहरू छन्? अनियमित संख्याहरू आउँछन्।) STRONG:"म DC मोटर गति नियन्त्रणको लागि PID समायोजन गर्दैछु। हाल, Kp=2, Ki=0.5, Kd=0। यसले स्टेप इनपुटमा 35% ओभरशूट गर्दछ र जब यो ठूलो लक्ष्यमा पुग्छ; लक्ष्यमा पुग्न धेरै समय लाग्छ। सेटल 100 हर्ट्ज हो, यी लक्षणहरूबाट सम्भावित कारणहरू सूचीबद्ध गर्नुहोस्, जसले "कुन दिशा परिवर्तन गर्नुपर्छ भनेर सुझाव दिनुहोस् र कसरी ओभरशूट एक अभिन्न विन्डअप हो भनेर जाँच गर्नुहोस्।"

मिनी केस

कन्ट्रोल इन्जिनियर केरेमले एक्स्ट्रुडरको तापमान नियन्त्रण समायोजन गर्दछ। AI द्वारा सुझाव गरिएका लाभहरूको साथ, प्रणाली चाँडै लक्ष्यमा पुग्छ, तर प्रत्येक सेट परिवर्तनमा यसले ठूलो ओभरशूट बनाउँछ र बिस्तारै स्थिर हुन्छ। केरेमले AI लाई लक्षण बताउँछ; एआईले अभिन्न विन्डअपलाई शंका गर्छ किनभने हीटर केही समयको लागि पूर्ण शक्ति (स्याचुरेटेड) मा रहन्छ। केरेमले PID कोडमा एन्टी-विन्डअप थप्छ र ओभरशूट उल्लेखनीय रूपमा घट्छ। तर अब हीटर आउटलेटमा हल्का झिलमिलाहट छ; उसले तापमान सेन्सरको आवाजलाई विस्तार गर्ने D शब्दलाई श्रेय दिन्छ र डेरिभेटिभमा कम-पास फिल्टर थप्छ। अन्तमा, यसले लगभग Ziegler-Nicols सँग लाभहरू प्रमाणित गर्दछ र प्रयोगात्मक फाइन-ट्यूनिङ प्रदर्शन गर्दछ। AI सँग छिटो-ट्र्याक निदान छ; तर केरेमले वास्तविक चरण प्रतिक्रिया मापन गरेर प्रत्येक सुधार पुष्टि गरे - चाहे windup सच्याइएको थियो वा फ्लिकरिंग गयो, यो केवल ग्राफिक रूपमा देख्न सकिन्छ।

सामान्य गल्तीहरू

  • PID मा आउटपुट संतृप्ति र एन्टि-विन्डअप थप्न असफल र एक्चुएटर सीमामा ठूलो ओभरशूटको अनुभव गर्दै।
  • शोर मापनको व्युत्पन्नबाट व्युत्पन्न लिँदै र एक्चुएटर कम्पन।
  • dt स्थिर छ, जबकि नमूना अवधि भिन्न हुन्छ।
  • सुरक्षा सावधानी बिना हार्डवेयर मा Ziegler-Nichols दोलन परीक्षण प्रदर्शन गर्दै।
  • प्रणाली-विशिष्ट प्रमाणीकरण बिना AI-उत्पन्न आय "अन्तिम" को रूपमा स्वीकार गर्दै।
  • धेरै ठूला कदमहरूसँग एकल लाभ परिवर्तन गर्दै र प्रणालीलाई अस्थिरतामा धकेल्दै।

संक्षेपमा

  • PID; यसले P (वर्तमान त्रुटि), I (संचित त्रुटि), D (त्रुटि परिवर्तनको दर) सँग प्रतिक्रिया गर्दछ।
  • फिल्ड PID मा आउटपुट संतृप्ति, एन्टी-विन्डअप र व्युत्पन्न फिल्टर समावेश हुनुपर्छ।
  • इन्टिग्रल विन्डअप ठूलो ओभरशूट, व्युत्पन्न आवाजले एक्चुएटर कम्पन निम्त्याउँछ।
  • Ziegler-Nicols लाभ गर्न सुरु दिन्छ; यो हार्डवेयर मा सुरक्षा उपायहरु संग लागू गरिएको छ।
  • एआई लक्षण देखि कारण सम्म निदान मा छिटो छ; सुधार मापन द्वारा प्रमाणित छ।
  • dt वास्तविक मापन; आम्दानी परिवर्तनहरू साना चरणहरू र अवलोकनहरूमा गरिन्छ।

आवेदन कार्य

एउटा प्रणाली छनोट गर्नुहोस् (वास्तविक मोटर/हिटर वा पाइथनमा एउटा साधारण पहिलो/सेकेन्ड अर्डर मोडेल) र AI सँग संतृप्ति + एन्टि-विन्डअपको साथ PID क्लास उत्पन्न गराउनुहोस्। त्यसपछि: (१) केवल P बाट सुरु गरेर Kp बढाएर दोलन व्यवहार अवलोकन गर्नुहोस्, (2) स्थायी त्रुटि हटाउन Ki थप्नुहोस् र ओभरशूट कसरी बढ्छ हेर्नुहोस्, (3) एन्टी-वाइन्डअप अन र अफ गरेर ठूलो ओभरशूटमा प्रभाव तुलना गर्नुहोस्। प्रत्येक चरणमा चरण प्रतिक्रिया प्लट गर्नुहोस् र नोट गर्नुहोस् कि कुन ब्यवहारमा परिवर्तन हुन्छ। Ziegler-Nicols बाट प्राप्त लाभहरू तपाईंले आफैंलाई फेला पार्नु भएको तुलना गर्नुहोस्।