مهندسی کنترل یک علم بین رشته ای است که می تواند در سایر رشته های مهندسی مانند “مهندسی مکانیک”، “مهندسی برق”، “مهندسی هوافضا”، “مهندسی شیمی” و … مورد استفاده قرار گیرد. هیچ دوره کارشناسی برای مهندسی کنترل در دانشگاه ها وجود ندارد، اما درس “کنترل خطی” یک درس اجباری در مقطع کارشناسی برای تمامی رشته های مهندسی ذکر شده در بالا می باشد. در این مقاله ابتدا در مورد مهندسی کنترل به طور کلی صحبت می کنیم و سپس در دو بخش جداگانه به توضیح “کنترل خطی” و “کنترل مدرن” می پردازیم.
اگر بخواهیم «مهندسی کنترل» را در یک پاراگراف توصیف کنیم، میتوان گفت، مهندسی کنترل عبارت است از کنترل یک متغیر یا حالت دلخواه سیستم برای رسیدن به وضعیت مطلوب مدنظر. به عنوان مثال، شما معادله دینامیکی حاکم بر یک نیروگاه حرارتی را دارید و میخواهید «دما» در قسمت خاصی از نیروگاه دقیقاً در فلان درجه سانتیگراد مورد نظر ما باشد. من فکر می کنم واضح است که متغیر یا حالت مورد نظر چیست (دما) و وضعیت مطلوب چیست (مقدار دقیق دما). “ورودی کنترل” می تواند “گرما” باشد که از طریق لوله کشی منتقل می شود و توسط ما قابل کنترل است. مثال دیگر می تواند ربات ها یا وسایل نقلیه باشد. شما معادله دینامیکی حرکت را دارید و می خواهید ربات یا وسیله نقلیه در نقطه دلخواه قرار بگیرد یا مسیر دلخواهی را طی کند. ورودی های کنترلی شما نیروهایی هستند که توسط عملگرها (معمولاً موتورهای الکتریکی) اعمال می شوند. در بسیاری از مواقع لازم است وضعیت مورد نظر خود را مشاهده کنید و اگر در حال دور شدن از نقطه مورد نظر هستید، باید ورودی کنترل را تنظیم کنید. در این شرایط، ما این سیستم را یک حلقه کنترلی با بازخورد (فیدبک) یا به عبارت دیگر «سیستم کنترل حلقه بسته» می نامیم. بازخوردهایی مانند دمای قسمت مورد نظر ما یا مکان ربات یا وسیله نقلیه توسط سنسورها تهیه و ارسال می شوند. نمودار زیر “مهندسی کنترل” را به خوبی توصیف می کند:
به هر حال، مانند بسیاری از علوم دیگر، این رشته مهندسی آنقدر که به نظر می رسد آسان نیست. اگر معادله دینامیکی سیستم، معادلات دیفرانسیل خطی باشد، کار شما راحت تر است. اما بسیاری از اوقات، معادلات دینامیکی شما غیرخطی هستند و بسیاری از تکنیک های “کنترل غیرخطی” برای این منظور توسعه یافته اند. گاهی اوقات اختلالات یا عدم قطعیت های زیادی در مدل دینامیک سیستم شما وجود دارد و شما باید از رویکردهای “کنترل تطبیقی” یا “کنترل مقاوم” در این شرایط استفاده کنید. گاهی اوقات، شما حتی مدل دینامیکی سیستم خود را ندارید و فقط از خروجی مورد نظر و ورودی کنترل خود مطلع هستید. در این مواقع، شما باید از رویکردهای “شناسایی سیستم” استفاده کنید و همچنین می توانید از “کنترل کننده های فازی” یا “کنترل کننده های مبتنی بر شبکه عصبی” برای این منظور استفاده کنید. در ادامه این مقاله ابتدا در مورد “کنترل خطی” و سپس در مورد “کنترل مدرن” و مزایای آن نسبت به کنترل خطی صحبت می کنیم. توضیح سایر رویکردهای مهندس کنترل که در بالا ذکر شد، در آینده به مقاله مجزای خود نیاز دارند.
کنترل خطی
در کنترل خطی، ما فقط سیستمهای LTI را مطالعه میکنیم که مخفف سیستمهای “خطی نامتغیر با زمان” است. یعنی معادلات دینامیکی سیستم ما باید “خطی” و “نامتغیر با زمان” باشد. می توانیم معادلات دینامیکی سیستم را به صورت معادله زیر بنویسیم:
در معادله بالا، متغیر Y را به عنوان خروجی و X را به عنوان متغیر ورودی و Y(n)، مشتق nام Y و X(m)، مشتق mام X است و همه این متغیرهای بالا تنها تابعی از زمان هستند. شرط “خطی” بودن به این معنی است که X و Y و مشتقات آنها باید خطی باشند (نه چند جمله ای، نه تابع غیرخطی مانند cos، sin و غیره) و شرط “Time Invariant” یا “نامتغیر با زمان” به این معنی است که ضرایب X و Y و مشتقات آنها باید ثابت باشند و تابع زمان نباشند.
رویکرد غالب در کنترل خطی برای حل سیستم های LTI، «تبدیل لاپلاس» یا «حوزه S» است. ما از معادلات دینامیکی خود تبدیل لاپلاس می گیریم و معادلات از «حوزه زمان» به «حوزه S» یا «حوزه فرکانس» تبدیل می شوند. کار تبدیل لاپلاس تبدیل یک سیستم معادلات دیفرانسیل مرتبه بالا به یک سیستم معادلات چند جمله ای درجه بالا است و بدیهی است که کار با چند جمله ای ها و تحلیل آن ها آسان تر از معادلات دیفرانسیل است. بقیه تجزیه و تحلیل ما در دوره “کنترل خطی” در دامنه S است.
دو رویکرد بصری یا نموداری در کنترل خطی برای درک بهتر سیستم های کنترل وجود دارد. این ها رویکرد “SFG” و “TF” هستند. SFG مخفف “گراف جریان سیگنال” و TF مخفف “تابع تبدیل” است. در تصاویر زیر نمودار اول TF و نمودار دوم SFG است.
اولین گام در کنترل خطی، یافتن تابع تبدیل از معادلات دینامیکی سیستم است. سوال این است که تابع تبدیل چیست؟ تابع تبدیل یک سیستم به عنوان نسبت تبدیل لاپلاس خروجی به تبدیل لاپلاس ورودی که در آن همه شرایط اولیه صفر هستند، تعریف می شود. T(S) = تابع تبدیل سیستم، C(S) = خروجی و R(S) = ورودی.
تکنیکهای زیادی برای یافتن تابع تبدیل نه تنها از معادلات دینامیکی سیستم، بلکه از نمایشهای بصری آن که نمودارهای بلوکی SFG و TF هستند، وجود دارد. یکی از این تکنیک ها “قانون میسون” است. پس از یافتن تابع تبدیل، آماده انجام آنالیز کنترلی سیستم یا تجزیه و تحلیل پایداری و یا در پایان، طراحی یک کنترل کننده خطی برای سیستم خود هستیم.
اولین نوع تحلیل، یافتن ویژگی های سیستم ما است. یک ورودی به سیستم وارد می کنیم که معمولاً تابع پله واحد (step function) است و سپس ویژگی های سیستم را که عبارتند از: “زمان مرده”، “زمان صعود”، “زمان پیک”، “درصد بالازدگی”، “زمان نشست”، “خطای حالت ماندگار” و غیره پیدا می کنیم. شکل یک تابع تبدیل به صورت زیر است:
اگر ریشه های چند جمله ای صورت کسر T(s) را پیدا کنیم، “صفر” های سیستم و اگر ریشه های چند جمله ای مخرج کسر T(s) را بدست آوریم، “قطب” های سیستم را پیدا کردهایم. بیشتر تحلیل های ما در سیستم های خطی مبتنی بر قطب ها و صفرهای تابع تبدیل سیستم ما است. در سیستم های واقعی و مفید، ما همیشه داریم .
گاهی اوقات ما ویژگی های مورد نظر خود را از سیستم، مانند “زمان نشست” یا “درصد بالازدگی” می دانیم و همچنین مرتبه تابع تبدیل خود را می دانیم (بالاترین درجه چند جمله ای در مخرج تابع تبدیل) و سپس قطب ها و صفرهای خود را به نحوی قرار می دهیم تا به ویژگی های مدنظر خود برسیم. حالت فوق برای زمانی است که ما قدرت تغییر در دینامیک سیستم خود را داریم و می توانیم اجزای سیستم خود را تنظیم کنیم یا تغییر دهیم، و این به این معنی است که میتوانیم تابع تبدیل خود را تنظیم کنیم، اما در سیستمهای دنیای واقعی، ما یک سیستم غیر قابل تغییر داریم یا مدل دینامیک سیستم ناشناخته است و باید کنترلر برای سیستم طراحی کنیم و پارامترهای کنترلر خود را تنظیم کنیم تا به ویژگیهای مورد نظر خود برسیم. کنترلرهای اصلی ای که در درس کنترل خطی طراحی میکنیم، کنترلر P، کنترلر PD و کنترلر PID هستند که در ادامه این مقاله درباره آن ها توضیحاتی ارائه می کنیم.
یکی از موارد مهم برای تحلیل یک سیستم، بررسی “پایداری” سیستم در پاسخ به برخی ورودی ها مانند تابع پله یا تابع شیب یا غیره است. یک سیستم “پایدار” است اگر پاسخ طبیعی سیستم به ورودی در زمان محدود به صفر میل کند و اگر پاسخ به سمت بی نهایت میل کند، سیستم “ناپایدار” است و اگر پاسخ نوسان داشته باشد، سیستم “پایدار مرزی” است. اگر پاسخ سیستم برای ورودی محدود، محدود باشد، آن را “BIBO stable” یا “پایدار ورودی-محدود خروجی-محدود” (Bounded-input Bounded-output stable) می نامیم.
یکی از معیارهای بررسی پایداری یک سیستم خطی «راث-هورویتز» است. در این معیار فقط نیاز است تا ضرایب «معادله مشخصه» که چند جمله ای مخرج تابع تبدیل است را بدانیم. همچنین میتوانیم پایداری را با «نمودارهای Root Locus» که بر اساس موقعیت قطبهای سیستم حلقه بسته و برخی پارامترهای تنظیم سیستم حلقه بسته است، بررسی کنیم. اگر تمام قطب های سیستم حلقه بسته در سمت چپ نمودار Root Locus قرار داشته باشند، سیستم پایدار است یا به عبارتی قسمت حقیقی تمام قطب های مختلط و حقیقی سیستم حلقه بسته باید منفی باشد.
ما می توانیم با طراحی “کنترلر” یا “جبران ساز” برای سیستم خود، به شرایط کاری مطلوب خود برسیم. از آنجایی که تعداد کنترلرها و جبران کننده ها بی نهایت است، اولویت با ساده ترین آنهاست. ۳ نوع جبران کننده وجود دارد: جبران کننده پیش فاز، جبران کننده پس فاز و جبران کننده پیش-پس فاز. تابع تبدیل یک جبران کننده به این شکل است:
قابل ذکر است که جبران کننده ها همان کنترلرها هستند اما ساده ترین شکل ممکن کنترلرها محسوب می شوند. یک جبران کننده یا کنترلر خطی در حالت کلی به شکل زیر است:
اگر همه ضرایب فوق غیر صفر باشند، کنترلر فوق را به عنوان کنترلر PID که مخفف “تناسبی-انتگرالی-مشتقی” (Proportional-Integral-Derivative) است، می نامیم. اگر فقط kp داشته باشیم، آن را کنترلر P مینامیم که سادهترین آن است و اگر دارای عبارتهای تناسبی و مشتقی باشد، آن را کنترلر PD می نامیم و تابع تبدیل آن به صورت زیر است:
هنگامی که سیستم خود را در حوزه زمانی تجزیه و تحلیل می کنیم، تابع ورودی ما معمولا تابع پله یا تابع شیب یا ترکیبی از برخی از این توابع است. اگر تابع ورودی ما مانند تابع سینوسی تناوبی باشد، سیستم خود را در حوزه فرکانس تجزیه و تحلیل می کنیم. می توان نشان داد که برای یک سیستم LTI، اگر ورودی یک تابع سینوسی باشد، خروجی نیز یک تابع سینوسی است اما با دامنه و فاز متفاوت. تجزیه و تحلیل فرکانس مزایایی نسبت به تحلیل در حوزه زمان دارد، به عنوان مثال:
سه تکنیک مهم در تحلیل حوزه فرکانس وجود دارد که عبارتند از: “Bode Plot”، “Nyquist Plot” و “Nichols Plot” (نمودار بوده، نمودار نایکویست و نمودار نیکولز). هر یک از این ۳ روش نیاز به توضیحات خاص خود دارد که جزئیات آن در هر کتاب درسی کنترل خطی پیدا می شود. «حاشیه فاز» و «حاشیه بهره» دو معیار برای بررسی پایداری سیستم در تحلیل فرکانسی هستند. Nyquist همچنین معیار خاص خود را برای تجزیه و تحلیل پایداری در حوزه فرکانس دارد.
همچنین در تحلیل فرکانسی، میتوان با استفاده از پارامترهای فرکانس مانند «حاشیه بهره»، «حاشیه فاز»، «فرکانس» و غیره، کنترلر طراحی کرد. همانطور که قبلاً در تحلیل فرکانسی گفتیم، نیازی به مدل ریاضی سیستم نداریم و میتوانیم از “Bode Plot” و “Nyquist Plot” و “Nichols Plot” در طراحی کنترلر استفاده کنیم.
کنترلرهای PID بیشترین استفاده را در طراحی کنترلرهای خطی، به ویژه در کاربردهای صنعتی دارند و ماژولهای از پیش ساخته شده آنها را میتوان در بازار یافت. زمانی که مدل ریاضی سیستم را نداریم، می توان از کنترلرهای PID استفاده کرد، زیرا آنها می توانند پارامترهای خود را تنظیم کنند. با استفاده از روش زیگلر – نیکولز می توانیم ضرایب کنترلرهای PID را تنظیم کنیم.
کنترل مدرن
در کنترل مدرن، ما در مورد سیستم های LTI (مانند کنترل خطی) صحبت می کنیم و سیستم ما به شکل زیر است:
اما تفاوت اصلی این است که تحلیل ما به جای دامنه فرکانس یا دامنه S، در حوزه زمان است. سوال این است که چرا در وهله اول از تحلیل حوزه زمانی در کنترل خطی استفاده نکردیم. ترفندی که ما در کنترل خطی استفاده کردیم این بود که از سیستم خود تبدیل لاپلاس می گیریم و یک معادله دیفرانسیل مرتبه بالاتر را به معادله چند جمله ای تبدیل می کنیم. در کنترل مدرن ما به یک ترفند جدید نیاز داریم و واضح است که ما با معادله بالا آنطور که هست کار نمی کنیم.
این بار یک معادله دیفرانسیل با درجه n (بالاترین مرتبه مشتق در معادله) را به n معادله دیفرانسیل جداگانه با درجه ۱ تبدیل می کنیم. حل معادله دیفرانسیل با درجه ۱ بسیار آسان است و حل آن در اولین درس های درس معادلات دیفرانسیل معمولی (Ordinary Differential Equation) در مقطع کارشناسی مهندسی تدریس می شود. سیستم جدید معادله ما به شکل زیر است:
در معادله بالا، A، B، C و D ماتریس هستند و مقادیر اسکالر نیستند. بنابراین، اگر معادله ماتریس را بسط دهیم، n معادله دیفرانسیل درجه ۱ جداگانه خواهیم داشت. در معادله بالا، x متغیر حالت، u ورودی و y خروجی است.
به عنوان یک مثال ساده، سیستم مکانیکی زیر را در نظر بگیرید که یک مدل جرم-فنر-دمپر (Mass-Spring-Damper) است.
معادله این سیستم به صورت زیر است:
این یک معادله دیفرانسیل درجه دوم است. چگونه آن را به ۲ معادله دیفرانسیل درجه ۱ جداگانه تبدیل کنیم؟؟!!
ترفند ما به شرح زیر است. قرار می دهیم:
بنابراین، سیستم جدید معادله ما به شرح زیر است:
همانطور که مشاهده می کنید، معادله فوق یک سیستم معادله درجه ۱ است. به این فرم، فرم فضای حالت (State-Space) نیز گفته می شود و کنترل مدرن کلا درباره تبدیل مدل دینامیکی سیستم به فرم فضای حالت و سپس حل آن است.
در معادله بالا ورودی (یا u(t)) ما F(t) است و داریم:
معمولاً در معادله حرکت، متغیر x یا مکان سیستم برای ما مهم است و آن را به عنوان خروجی خود در نظر می گیریم. بنابراین، معادله زیر را برای متغیر خروجی داریم:
بنابراین، ماتریس های C و D به صورت زیر است:
پس از اینکه معادله خود را به فرم فضای حالت تبدیل کردیم، برای حل آن از روش های جبر خطی استفاده می کنیم. بنابراین، داشتن پیشینه قوی در جبر خطی برای این درس ضروری است و کنترل مدرن معمولاً به عنوان درس دوره تحصیلات تکمیلی در دانشگاه ها تدریس می شود.
ما می توانیم تفاوت های اصلی بین کنترل مدرن و کنترل کلاسیک (کنترل خطی) را در این موارد خلاصه کنیم:
نمایش های مختلفی برای توصیف یک سیستم وجود دارد، مانند “معادلات دیفرانسیل معمولی”، “فضای حالت”، “تابع تبدیل” و “گراف جریان سیگنال”. در دوره کنترل مدرن شما یاد می گیرید که چگونه یک نمایش را به دیگری تبدیل کنید.
مثلاً وقتی تابع تبدیل سیستم را داریم، چگونه میتوانیم نمایش فضای حالت را استخراج کنیم؟! برای این منظور، ۳ تکنیک “تجزیه کانونی”، “تجزیه سری” و “تجزیه موازی” وجود دارد.
برای حل معادله فضای حالت، از تکنیک های جبر خطی استفاده می کنیم، اگرچه بسیاری از نرم افزارها مانند MATLAB این کار را به خوبی برای ما انجام می دهند. در زیر روش ساده گام به گام، برای حل معادله فضای حالت ارائه شده است:
در راه حل بالا وقتی می خواهیم eA را محاسبه کنیم با A به عنوان ماتریس سروکار داریم نه یک اسکالر و همچنین B در انتگرال به صورت ماتریس ظاهر می شود، به همین دلیل به تکنیک های جبر خطی نیاز داریم. روش های زیادی برای حل معادله فضای حالت مانند روش کیلی-همیلتون وجود دارد. ما همچنین می توانیم از تبدیل مودال برای تبدیل ماتریس های خود به شکل مدال یا قطری استفاده کنیم که این حل معادلات را آسان تر می کند و تبدیل مدال یکی دیگر از رویکردهای جبر خطی است. ما خوانندگان را تشویق می کنیم تا از کتاب های درسی کنترل مدرن استفاده کنند تا درباره نحوه حل معادلات فضای حالت بیشتر بدانند.
برای تجزیه و تحلیل پایداری در فرم فضای حالت، زمانی که سیستم ما به شکل است، ابتدا «مقادیر ویژه» ماتریس A را محاسبه میکنیم. در یک سیستم پایدار، بخش حقیقی همه مقادیر ویژه باید منفی باشد (کمتر از صفر). روش دیگر برای بررسی پایداری سیستم های به صورت فضای حالت، «روش لیاپانوف» است. در این رویکرد فقط به معادلات دیفرانسیل سیستم نیاز داریم نه حل معادله دینامیکی آن. این رویکرد برای تمام سیستم های خطی و غیرخطی و سیستم های متغیر با زمان و تغییرناپذیر با زمان قابل اجرا است.
یکی دیگر از مفاهیم مهم در کنترل مدرن، «کنترل پذیری» و «مشاهده پذیری» است. کنترل پذیری رابطه بین متغیرهای ورودی و متغیرهای حالت است و بنابراین ماتریس های A و B در تجزیه و تحلیل کنترل پذیری دخالت دارند. ما یک سیستم را قابل کنترل یا کنترل پذیر می نامیم، اگر بتوانیم u(t) را به گونه ای طراحی کنیم که برای هر متغیر حالت xi، از مقدار اولیه xi(۰) در زمان محدود T به مقدار دلخواه خود برای xi برسیم. اگر سیستمی قابل کنترل باشد، آنگاه:
مشاهده پذیری رابطه بین متغیرهای خروجی و متغیرهای حالت است و بنابراین ماتریس های C و D در تحلیل مشاهده پذیری دخالت دارند. یک سیستم LTI قابل مشاهده است، اگر بتوانیم هر یک از متغیرهای حالت xi(t) را تنها با دانستن ورودی u(t) و خروجی y(t) محاسبه کنیم.
رویکردهایی برای بررسی کنترل پذیری و مشاهده پذیری سیستم ها به شکل فضای حالت وجود دارد. یکی از این رویکردها، ماتریس های «گرامین» کنترل پذیری و مشاهده پذیری است.
ما همچنین میتوانیم کنترلرهایی را برای سیستمها به شکل فضای حالت طراحی کنیم. یکی از این رویکردهای طراحی کنترلر، «قرار دادن قطب» یا “Pole Placement” است. ۳ روش برای قرار دادن قطب وجود دارد که عبارتند از: “فیدبک حالت”، “فرمول آکرمن” و “تبدیل تشابهی”.
در رویکرد جایگذاری قطب، فرض میکنیم که همه متغیرهای حالت آماده فیدبک هستند، اما در سیستمهای دنیای واقعی، برخی از متغیرهای حالت قابل اندازهگیری نیستند. برای این متغیرهای حالت، باید یک تخمینگر یا مشاهده گر طراحی کنیم. بنابراین، ما باید یک “مشاهده گر حالت کامل” یا Full State Observer برای سیستم خود طراحی کنیم یا فقط برای برخی از متغیرهای حالت می توانیم “مشاهده گر حالت کاهش مرتبه” یا Reduced Order Observer طراحی کنیم. جزئیات طراحی کنترلر و مشاهده گر برای سیستمهای فضای حالت را میتوان در بسیاری از کتابهای درسی کنترل مدرن یافت.
2 پاسخ
سلام
خیلی عالی و خلاصه ، سناریو کنترل خطی و کنترل مدرن رو مطرح کردید .
متشکر از سایت خوبتون
سلام
ممنونم