লাভ:
- সঠিক প্রেক্ষাপটে AI-তে P, I, D শর্তাবলী এবং প্রভাবগুলি ব্যাখ্যা করার এবং প্রয়োগ করার ক্ষমতা
- AI এর সাহায্যে ধাপে ধাপে Ziegler-Nichols এবং পরীক্ষামূলক টিউনিং পদ্ধতিগুলি চালানোর ক্ষমতা
- পিআইডি ফাঁদ চিনতে এবং নির্মূল করার ক্ষমতা যেমন ইন্টিগ্রাল উইন্ডআপ, এআই সুপারিশগুলিতে ডেরিভেটিভ নয়েজ
একটি ওভেনের তাপমাত্রা স্থির রাখা, একটি মোটরের গতি একটি পছন্দসই মূল্যে চালানো, একটি ড্রোনের কোণকে ভারসাম্য বজায় রাখা; তাদের সবার হৃদয়ে একটি নিয়ন্ত্রণ অ্যালগরিদম। এর মধ্যে সবচেয়ে সাধারণ হল পিআইডি কন্ট্রোলার, যা শিল্পের মেরুদণ্ড। পিআইডি; এটি সহজ, শক্তিশালী এবং বিস্তৃত সমস্যার উপর কাজ করে। কিন্তু "সহজ" মানে "টিউন করা সহজ" নয়: একটি ভুলভাবে সেট করা পিআইডি দোদুল্যমান হবে, ওভারশুট করবে, দেরিতে বসবে বা সম্পূর্ণ অস্থির হয়ে যাবে। কৃত্রিম বুদ্ধিমত্তা এখানে একটি মূল্যবান সহকারী: এটি পিআইডি শর্তাবলী ব্যাখ্যা করে, টিউনিং পদ্ধতির মাধ্যমে গাইড করে, সাধারণ ত্রুটিগুলি নির্ণয় করে এবং টিউনিং কোড লিখে। যাইহোক, আপনার সিস্টেমের শারীরিক আচরণ দেখে চূড়ান্ত সমন্বয় করা হয় এবং স্থিতিশীলতার সিদ্ধান্ত ইঞ্জিনিয়ারের। এই ইউনিটে আমরা AI দিয়ে PID ট্র্যাপগুলি কীভাবে ইনস্টল, টিউন এবং যাচাই করতে হয় তা কভার করি।
পিআইডির তিনটি শর্ত
PID তিনটি উপায়ে ত্রুটি সংকেত (e = লক্ষ্য − পরিমাপ) এর প্রতিক্রিয়া জানায়:
মেয়াদ
সে কি দেখছে?
প্রভাব
চরম
পি (আনুপাতিক)
বর্তমান ত্রুটি
দ্রুত প্রতিক্রিয়া
দোলনা, স্থায়ী ত্রুটি
আমি (অখণ্ড)
সঞ্চিত অতীত ত্রুটি
স্থায়ী ত্রুটি পুনরায় সেট করে৷
overshoot, windup, oscillation
D (উৎপন্ন)
ত্রুটি পরিবর্তনের হার
ড্যাম্পিং ওভারশুট হ্রাস করে
আওয়াজ বাড়ান
মৌখিক সারাংশ: P প্রশ্নগুলির উত্তর দেয় "আমি এখন কতদূর", আমি "আমি কতক্ষণ দূরে ছিলাম", D "আমি কত দ্রুত এগিয়ে যাচ্ছি"। একটি ভাল নিয়ামক তিনটি ভারসাম্য বজায় রাখে।
ক্লাস পিআইডি: 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, 0.0.0 স্বয়ংক্রিয় ত্রুটি। লক্ষ্য, পরিমাপ করা, ডিটি): ত্রুটি = লক্ষ্য - পরিমাপ করা # P p = self.Kp * ত্রুটি # I -- windup সুরক্ষা সহ self.integral += error * dt i = self.Ki * self.integral # D -- ডেরিভেটিভ নয়েজ সংবেদনশীল d = self.Kd * (error - self.previous_error) / ious pt_tur = error + dt. আউটপুট এবং লিমিট উইন্ডআপ যদি আউটপুট > self.output_max: output = self.out_max self.integral -= error * dt # anti-windup: integral elif output < self.output_min: output = self.output_min self.integral -= error * dt রিটার্ন আউটপুট
এই কোডটি "ট্রেনিং পিআইডি" নয়, কিন্তু প্রোডাকশন লজিকের কাছাকাছি একটি কঙ্কাল: এতে আউটপুট স্যাচুরেশন এবং অ্যান্টি-ওয়াইন্ডআপ অন্তর্ভুক্ত রয়েছে। AI দ্বারা প্রদত্ত অনেক সাধারণ PID এই দুটি সুরক্ষাকে বাইপাস করে; এগুলি ছাড়া, যখন অ্যাকচুয়েটর তার সীমাতে পৌঁছে যায়, তখন অবিচ্ছেদ্যটি ফুলে উঠবে এবং সিস্টেমটি অপ্রত্যাশিতভাবে ওভারশুট হবে।
টিপ: পিআইডি-র জন্য AI-কে জিজ্ঞাসা করার সময় বলুন "আউটপুট স্যাচুরেশন এবং অ্যান্টি-ওয়াইন্ডআপ যোগ করুন, ডেরিভেটিভ টার্মে পরিমাপের উপর ডেরিভেটিভ প্রয়োগ করুন"। এই তিনটি সংযোজন পাঠ্যপুস্তকের পিআইডিকে ফিল্ড পিআইডিতে রূপান্তরিত করে।
ইন্টিগ্রাল উইন্ডআপ এবং ডেরিভেটিভ নয়েজ
দুটি ক্লাসিক ক্ষতি হল পিআইডি ব্যর্থতার সবচেয়ে সাধারণ কারণ:
ইন্টিগ্রাল উইন্ডআপ: যখন অ্যাকচুয়েটর পরিপূর্ণ হয় (যেমন মোটর ইতিমধ্যেই পূর্ণ শক্তিতে) ত্রুটিটি বজায় থাকে এবং অবিচ্ছেদ্য শব্দটি বাড়তে থাকে। এই স্ফীত অবিচ্ছেদ্য সিস্টেমটি লক্ষ্যে পৌঁছালে একটি বড় ওভারশুটের দিকে নিয়ে যায়। সমাধান: আউটপুট স্যাচুরেটেড হয়ে গেলে ইন্টিগ্রালকে থামানো বা রোল ব্যাক করা (অ্যান্টি-উইন্ডআপ, উপরের কোডে দেখানো হয়েছে)।
ডেরিভেটিভ নয়েজ: ডি শব্দটি ত্রুটির ডেরিভেটিভ নেয়; একটি শোরগোল পরিমাপের ডেরিভেটিভ অনেক বেশি কোলাহলপূর্ণ এবং অ্যাকচুয়েটরকে কম্পিত করবে। সমাধান: পরিমাপ থেকে ডেরিভেটিভ নেওয়া (ত্রুটির পরিবর্তে পরিমাপের ডেরিভেটিভ), ডেরিভেটিভ শব্দটিতে একটি কম পাস ফিল্টার যোগ করা।
# ডেরিভেটিভ নয়েজ হ্রাস করা: পরিমাপ ডেরিভেটিভ + ফিল্টারড_রা = -(মাপা - স্ব. পূর্ববর্তী_মাপা) / ত্রুটির পরিবর্তে dt
এআই এই ত্রুটিগুলি সনাক্ত করতে ভাল; আপনি যদি বলেন "আমার পিআইডি টার্গেটে পৌঁছালে খুব বেশি ওভারশুট হয়", তাহলে এটি উইন্ডআপ করার পরামর্শ দেয়। কিন্তু আপনি আপনার সিস্টেমে ফিক্স কাজ করে কিনা তা পরিমাপ করে যাচাই করুন।
জিগলার-নিকোলসের সাথে সেট করা
স্ক্র্যাচ থেকে লাভ (Kp, Ki, Kd) খোঁজার একটি ক্লাসিক পদ্ধতি হল Ziegler-Nichols। এর সারমর্ম: শুধুমাত্র P দিয়ে শুরু করে এবং সিস্টেমটি টেকসই দোলনায় না যাওয়া পর্যন্ত Kp বৃদ্ধি করে; সারণী থেকে Kp, Ki, Kd গণনা করুন এই পয়েন্টে সমালোচনামূলক লাভ Ku এবং দোলন সময় Tu সহ।
নিয়ামক
kp
তি
Td
পৃ.
0.5·কু
-
-
পি.আই.
0.45·কু
Tu/1.2
-
পিআইডি
0.6·কু
Tu/2
Tu/8
জিগলার-নিকোলসের পদক্ষেপ (এআই দ্বারা তৈরি করা পরিকল্পনা):1। Ki=0, Kd=0 নিন। শুধু P.2 চালান। স্থিতিশীল, টেকসই দোলন শুরু না হওয়া পর্যন্ত ধীরে ধীরে Kp বাড়ান।3। এই Kp = Ku (গুরুত্বপূর্ণ লাভ), দোলনের সময়কাল = Tu.4। টেবিল থেকে Kp, Ti, Td গণনা করুন; Ki = Kp/Ti, Kd = Kp*Td.5। এই মান দিয়ে শুরু করুন, তারপর পরীক্ষামূলক পরিবর্তন করুন।
সতর্কতা: জিগলার-নিকোলস ইচ্ছাকৃতভাবে সিস্টেমটিকে তার স্থিতিশীলতার সীমাতে নিয়ে আসে (টেকসই দোলন)। বাস্তব হার্ডওয়্যারে এটি করার সময় যান্ত্রিক স্ট্রেন, ওভারকারেন্ট এবং বিপদের ঝুঁকি রয়েছে; যদি সম্ভব হয়, প্রথমে সিমুলেশনে করুন, তারপর কম পাওয়ার লিমিট এবং হার্ডওয়্যারে ই-স্টপ নিয়ে কাজ করুন। AI দ্বারা প্রস্তাবিত Ku একটি সূচনা বিন্দু, এটি আপনার সিস্টেমে পরিমাপ এবং যাচাই করা হয়।
এআই-সহায়তা ডায়াগনস্টিকস
আপনি AI-তে বর্ণনা করে PID আচরণ নির্ণয় করতে পারেন। লক্ষণ → সম্ভাব্য কারণ ম্যাপিং:
উপসর্গ
সম্ভাব্য কারণ
দিকনির্দেশনা AI পরামর্শ দেবে
ধীরে বসা
Kp/Ki কম
কেপি বৃদ্ধি
স্থায়ী ত্রুটি
আমি অনুপস্থিত বা খুব কম
কি যোগ/বৃদ্ধি
ওভারশুট + দোলন
Kp/Ki উচ্চ, কোন D
Kd যোগ করুন, কি হ্রাস করুন
অ্যাকচুয়েটর কাঁপছে
ডেরিভেটিভ শব্দ
ডি ফিল্টার/কমাও
বড় হলেই ছাড়িয়ে যাবে
অবিচ্ছেদ্য windup
অ্যান্টি-ওয়াইন্ডআপ যোগ করুন
দুর্বল প্রম্পট / শক্তিশালী প্রম্পট
দুর্বল:"পিআইডি লাভ দিন।"(কোন সিস্টেম? আচরণ কেমন? কোন পরিমাপ আছে কি? এলোমেলো সংখ্যা আসে।) স্ট্রং:"আমি একটি DC মোটর গতি নিয়ন্ত্রণের জন্য পিআইডি সামঞ্জস্য করছি। বর্তমানে, Kp=2, Ki=0.5, Kd=0। এটি স্টেপ ইনপুটে 35% ওভারশুট করে এবং যখন এটি একটি সেকেন্ডের বেশি সময় নেয়; স্যাম্পলিং হল 100 Hz এই লক্ষণগুলি থেকে সম্ভাব্য কারণগুলিকে তালিকাভুক্ত করুন, যা "আমি এটি পরিবর্তন করতে চাই এবং আমাকে বলুন যে ওভারশুটটি একটি অবিচ্ছেদ্য উইন্ডআপ কিনা।"
মিনি কেস
কন্ট্রোল ইঞ্জিনিয়ার কেরেম একটি এক্সট্রুডারের তাপমাত্রা নিয়ন্ত্রণ সামঞ্জস্য করে। AI দ্বারা প্রস্তাবিত লাভের সাথে, সিস্টেমটি দ্রুত লক্ষ্যে পৌঁছায়, কিন্তু প্রতিটি সেট পরিবর্তনে এটি একটি বড় ওভারশুট করে এবং ধীরে ধীরে স্থির হয়। কেরাম এআই-এর লক্ষণ ব্যাখ্যা করেন; AI অবিচ্ছেদ্য উইন্ডআপ সন্দেহ করে কারণ হিটারটি কিছুক্ষণের জন্য সম্পূর্ণ শক্তিতে (স্যাচুরেটেড) থাকে। কেরেম পিআইডি কোডে অ্যান্টি-উইন্ডআপ যোগ করে এবং ওভারশুট উল্লেখযোগ্যভাবে কমে যায়। কিন্তু এখন হিটারের আউটলেটে সামান্য ঝাঁকুনি আছে; তিনি এটিকে D শব্দের জন্য দায়ী করেন যা তাপমাত্রা সেন্সরের শব্দকে প্রশস্ত করে এবং ডেরিভেটিভটিতে একটি লো-পাস ফিল্টার যোগ করে। অবশেষে, এটি মোটামুটিভাবে জিগলার-নিকোলসের সাথে লাভকে বৈধ করে এবং পরীক্ষামূলক ফাইন-টিউনিং সঞ্চালন করে। AI দ্রুত-ট্র্যাক ডায়াগনসিস আছে; কিন্তু কেরেম প্রকৃত পদক্ষেপের প্রতিক্রিয়া পরিমাপ করে প্রতিটি সংশোধন নিশ্চিত করেছেন — উইন্ডআপ সংশোধন করা হয়েছে বা ঝিকিমিকি চলে গেছে, এটি শুধুমাত্র গ্রাফিকভাবে দেখা যেতে পারে।
সাধারণ ভুল
- পিআইডিতে আউটপুট স্যাচুরেশন এবং অ্যান্টি-ওয়াইন্ডআপ যোগ করতে ব্যর্থ হওয়া এবং অ্যাকচুয়েটর সীমাতে একটি বড় ওভারশুট অনুভব করা।
- শোরগোল পরিমাপের ডেরিভেটিভ থেকে ডেরিভেটিভ নেওয়া এবং অ্যাকচুয়েটরকে কম্পিত করা।
- ধরে নেওয়া হচ্ছে dt ধ্রুবক, যেখানে নমুনার সময়কাল পরিবর্তিত হয়।
- নিরাপত্তা সতর্কতা ছাড়াই হার্ডওয়্যারে জিগলার-নিকলস দোলন পরীক্ষা করা।
- সিস্টেম-নির্দিষ্ট যাচাইকরণ ছাড়াই AI-উত্পন্ন উপার্জনকে "চূড়ান্ত" হিসাবে গ্রহণ করা।
- খুব বড় পদক্ষেপের সাথে একটি একক লাভ পরিবর্তন করা এবং সিস্টেমকে অস্থিরতার দিকে ঠেলে দেওয়া।
সংক্ষেপে
- পিআইডি; এটি P (বর্তমান ত্রুটি), I (সঞ্চিত ত্রুটি), D (ত্রুটির পরিবর্তনের হার) এর সাথে প্রতিক্রিয়া করে।
- ফিল্ড পিআইডিতে আউটপুট স্যাচুরেশন, অ্যান্টি-ওয়াইন্ডআপ এবং ডেরিভেটিভ ফিল্টার অন্তর্ভুক্ত করা উচিত।
- ইন্টিগ্রাল উইন্ডআপ বড় ওভারশুট, ডেরিভেটিভ নয়েজ অ্যাকচুয়েটর ভাইব্রেশন ঘটায়।
- জিগলার-নিকলস লাভ করতে শুরু করে; এটি হার্ডওয়্যারের নিরাপত্তা ব্যবস্থার সাথে প্রয়োগ করা হয়।
- এআই লক্ষণ থেকে কারণ পর্যন্ত নির্ণয়ের ক্ষেত্রে দ্রুত; সংশোধন পরিমাপ দ্বারা যাচাই করা হয়.
- dt প্রকৃত পরিমাপ; আয় পরিবর্তন ছোট পদক্ষেপ এবং পর্যবেক্ষণ করা হয়.
আবেদন টাস্ক
একটি সিস্টেম বাছাই করুন (আসল মোটর/হিটার বা পাইথনে একটি সাধারণ প্রথম/সেকেন্ড অর্ডার মডেল) এবং AI-তে স্যাচুরেশন + অ্যান্টি-ওয়াইন্ডআপ সহ একটি পিআইডি ক্লাস তৈরি করুন। তারপর: (1) শুধুমাত্র P দিয়ে শুরু করে এবং Kp বাড়িয়ে দোলন আচরণ পর্যবেক্ষণ করুন, (2) স্থায়ী ত্রুটি দূর করতে Ki যোগ করুন এবং ওভারশুট কীভাবে বাড়ে তা দেখুন, (3) অ্যান্টি-ওয়াইন্ডআপ চালু এবং বন্ধ করে বড় ওভারশুটের প্রভাব তুলনা করুন। প্রতিটি ধাপে ধাপের প্রতিক্রিয়া প্লট করুন এবং নোট করুন কোন লাভ কোন আচরণ পরিবর্তন করে। জিগলার-নিকোলসের লাভের সাথে আপনি যে লাভগুলি পেয়েছেন তার সাথে তুলনা করুন।