Adaptive (PID) controller design using simultaneous perturbation stochastic approximation algorithm and neural network training

Document Type : Research Article

Authors

1 Faculty of Engineering, Shahid Bahonar University of Kerman, Kerman, Iran

2 Faculty of Engineering, Shahid Bahonar University of Kerman, Kerman, Iran.

Abstract

In this paper, a new method of data-driven controller (DDC) design using Simultaneous Perturbation Stochastic Approximation Algorithm (SPSA) and Neural Network (NN) training is presented. This method can be used to control a variety of linear and nonlinear systems. In the simultaneous perturbation stochastic approximation algorithm, the controller is assumed to have a fixed structure and its parameters must be estimated. In this paper, a Proportional, Integral, and Derivative controller (PID) is considered and the parameters that should be estimated by the proposed algorithm are proportional, integral and derivative terms of this controller. In the proposed method, the simultaneous perturbation stochastic approximation algorithm is quantified by using neural network training which increases the convergence speed and also improves the performance of the algorithm against system input changes. Simulations performed on cement grinding particle size distribution process and pitch angle control of aircraft show the high efficiency and potential of the proposed method.

Keywords


1- مقدمه

[1]

با توسعۀ علم و تکنولوژی و پیچیده‌شدن فرایندهای تولید، ارائۀ مدل برای پروسه‌های صنعتی بسیار دشوار و غیرممکن شده است؛ درنتیجه، کنترل‌کننده‌های مبتنی بر مدل[1] در برابر کنترل چنین پروسه‌هایی با مشکلاتی همچون دردسترس نبودن مدل، دینامیک‌های مدل‌نشده و غیره روبه‌رو هستند. نیز با پیشرفت تکنولوژی اطلاعات، در بسیاری از پروسه‌های صنعتی، در هر لحظه حجم زیادی از اطلاعات سیستم مانند حالات سیستم، سیگنال‌های کنترلی و سیگنال‌های خروجی و ... اندازه‌گیری و ذخیره می‌شوند. از این اطلاعات به‌صورت برخط (on-line) و برون‌خط  (off-line) به‌منظور پیش‌بینی حالت سیستم، ارزیابی عملکرد سیستم، تصمیم‌گیری، طراحی کنترل‌کننده و غیره استفاده می‌شود.

در چند سال اخیر، با توجه به کارآمدی کنترل‌کننده‌های داده‌محور برای سیستم‌های غیرخطی و پیچیده، روش‌های کنترلی داده‌محور برخط و برون‌خط بسیاری توسعه داده شده‌اند ]4-1[. ازجمله این روش‌ها عبارت‌اند از: الگوریتم تقریبات تصادفی انحرافات هم‌زمان، کنترل تطبیقی بدون مدل[2] ]7-5[، کنترل ابطال‌ناپذیر[3] ]8[، تنظیم بر پایۀ همبستگی[4] ]9[، تنظیم بازخوردی مرجع مجازی[5] ]11,10[، تنظیم بازخوردی بازگشتی[6] ]12[.

در این مقاله، از میان روش‌های بالا، الگوریتم SPSA که روشی برخط است، برای مطالعه و بررسی در نظر گرفته شده است. Spall این الگوریتم را نخستین‌بار در سال 1993 پیشنهاد داد ]13[. در الگوریتم SPSA بدون استفاده از مدل سیستم، تنها با استفاده از اطلاعات ورودی، خروجی و استفاده از چند تابع، هزینۀ پارامتر‌های کنترل‌کننده به‌صورت برخط محاسبه می‌شوند ]14[. الگوریتم SPSA روشی بازگشتی و تکرارشونده است؛ بنابراین، پژوهش‌های صورت‌گرفته بر این روش، تا کنون سعی داشته‌اند سرعت و کیفیت همگرایی این الگوریتم را افزایش دهند؛ برای مثال، مرجع ]15[ با تمرکز بر ضرایب SPSA و گرادیان خطا سعی دارد الگوریتم را از جنبه‌های متفاوتی همچون کیفیت پاسخ و سرعت همگرایی بهبود دهد. در مرجع ]16[ با کنترل‌کردن طول گام‌های این الگوریتم، مشکل همگرانشدن برخی از مسائل، بررسی و شرایط لازم برای همگرایی الگوریتم پیشنهادی ارائه می‌شود. مرجع ]17[ با کمک جمع‌آوری اطلاعات زمانی و مکانی، الگوریتمی را پیشنهاد می‌دهد که این الگوریتم توانایی محدودکردن تأثیر نویز و بالابردن سرعت همگرایی را داراست. در مرجع ]18[ یک مدل بهبودیافته از الگوریتم SPSA برای تعیین محل حفر چاه در میادین نفتی با هدف افزایش سوددهی ارائه شده است. در این مقاله با توجه به پیچیدگی بهینه‌سازی و وجود متغیرهای بسیار زیاد، الگوریتم SPSA راهکار کارآمد برای دستیابی به جواب بهینه معرفی شده است. عیب اساسی روش پیشنهادی در این مقاله این است که الگوریتم کنترلی تنها برای حل بهینه­یابی محل حفر چاه ارائه شده است و باید آن را برای استفاده در دیگر مسائل مهندسی تغییر داد. همچنین در مرجع ]19[ یک کنترل‌کننده PID جدید معرفی می‌شود که از الگوریتم SPSA همراه با حافظۀ جانبی استفاده می‌کند. این الگوریتم (M-SPSA) مبتنی بر حافظه، توانایی به دست آوردن دقت بهینه‌سازی بهتری نسبت به SPSA معمولی دارد؛ زیرا پارامترهای کنترل‌کننده را بهتر تنظیم می‌کند. یکی از نقاط ضعف این مقاله توجه‌نکردن به سرعت همگرایی است. همچنین، با توجه به کارآمدی الگوریتم SPSA در کنترل سیستم‌های پیچیده، از آن برای کنترل سیستم‌های صنعتی بسیاری استفاده شده است؛ به‌طور مثال، نویسندگان در مرجع ]20[ این الگوریتم را برای حل مسائل مدیریت انرژی در ماشین‌های هیبریدی پیشنهاد داده‌اند.

نیز با توجه به پیشرفت‌های انجام‌شده در زمینۀ هوش محاسباتی در چند دهه اخیر، استفاده از سیستم‌های هوشمند و به‌ویژه شبکۀ عصبی مصنوعی[7] بسیار گسترده شده است؛ به‌طوری‌که این ابزارها در ردیف عملیات پایه ریاضی و به‌عنوان ابزارهای عمومی و مشترک طبقه‌بندی می‌شوند ]21[. یکی از پایه‌ای‌ترین مدل‌های عصبی موجود، مدل پرسپترون چندلایه[8] ]24-22[ (MLP) است که عملکرد انتقالی مغز انسان را شبیه‌سازی می‌کند.

در این مقاله، به‌منظور بهبود سرعت همگرایی الگوریتم SPSA، استفاده از شبکۀ عصبی پیشنهاد می‌شود. در این روش با کمک آموزش شبکۀ عصبی و تلفیق آن با SPSA، کنترل‌کننده PID تطبیقی جدیدی پیشنهاد شده است که با سرعت بسیار مناسبی پارامتر‌های کنترلی را تخمین می‌زند و حتی توانایی آن را دارد پاسخگوی تغییرات ناگهانی سیگنال مرجع باشد. دست‌آوردهای اصلی این مقاله به شرح زیرند:

1-   الگوریتم SPSA ازطریق تلفیق با شبکۀ عصبی توسعه یافته است.

2-   سرعت همگرایی SPSA بهبود یافته است.

3-   کنترل‌کننده PID تطبیقی جدیدی پیشنهاد شده است که ضرایب آن با الگوریتم SPSA به‌طور آنلاین به دست می‌آید.

در ادامه، در بخش 2 اشاره‌ای مختصر به الگوریتم SPSA و شبکۀ عصبی پرسپترون می‌شود. در بخش 3 الگوریتم پیشنهادی معرفی می‌شود. در بخش 4 روش پیشنهادی روی دو مسئله ارزیابی می‌شود و در بخش 5 نتیجه‌گیری می‌شود.

 

2- ساختار الگوریتم SPSA و شبکۀ عصبی پرسپترون

 

2-1- ساختار الگوریتم SPSA

سیستم گسسته زمان (1) را در نظر بگیرید.

(1)

 

هدف اصلی از به‌کارگیری الگوریتم SPSA به دست آوردن پارامتر‌های برداری مانند  است. با توجه به اینکه در این مقاله هدف اصلی به دست آوردن پارامتر‌های کنترلی PID است،  بردار  شامل سه پارامتر kp، ki، kd است. برای به دست آوردن این پارامترها به یک تابع هزینه نیاز است که به فرم رابطه (2) در نظر گرفته شده است.

(2)

 

 

همان‌گونه که مشخص است تابع هزینه از خطای مطلق حاصل شده است. حال برای رسیدن به مقدار مطلوب تابع هزینه (2) باید از رابطه (3) استفاده کرد.

(3)

 

 

رابطه (3) نشان می‌دهد برای دستیابی به پاسخ، مدل سیستم باید دردسترس باشد؛ اما یکی از فرض‌های اساسی در کنترل‌کننده‌های داده‌محور آن است که مدل سیستم دردسترس نیست؛ بنابراین، برای به دست آوردن مقادیر پارامترهای مطلوب از رابطۀ بازگشتی (4) استفاده می‌شود.

(4)

 

در رابطه (4)،  نشان‌دهندۀ مقادیر تقریب زده شده  است. همچنین  ضریب بهبود است که برای محاسبۀ آن از رابطه (5) استفاده می‌شود:

(5)

 

که در آن b , A ,  مقادیری ثابت‌اند.

همچنین، برای به دست آوردن  از رابطه (6) استفاده می‌شود که تقریبی از گرادیان بالا است:

(6)

 

 

این تابع برآورد پراکندگی نامیده می‌شود. در رابطۀ بالا  ضریبی مثبت است و برای به دست آوردن آن از رابطه (7) استفاده می‌شود:

(7)

 

 

در این رابطه و  مقادیری ثابت‌اند.

برای به دست آوردن  باید ابتدا قانون کنترلی  و سپس  را محاسبه کرد. برای رسیدن به این هدف باید در ابتدا انحرافات  را به  طبق رابطه  اعمال کرد و بعد با در دست داشتن  مقادیر  با اعمال‌کردن  به سیستم مدنظر به دست می‌آید و با در دست داشتن  توابع هزینه  محاسبه می‌شوند.  بردار انحرافات است که دارای توزیع برنولی با احتمال 5.0 برای دو عدد  است.

درخور ذکر است به دلیل محدودیت در صفحات مقاله، بحث پایداری و شروط لازم برای همگرایی الگوریتم SPSA در مرجع ]25[ مشاهده می‌شود.

نکته1: شایان ذکر است الگوریتم SPSA تنها با در اختیار داشتن پاسخ خروجی، توانایی تخمین‌زدن پارامتر‌های کنترل‌کننده PID را داراست؛ بنابراین،این روش برای سیستم‌های خطی و غیرخطی کاربردی است.

 

2-2- شبکۀ عصبی پرسپترون

شبکۀ عصبی مصنوعی روشی ابداعی برای حل مسائل محاسباتی پیچیده است که بر پایۀ اتصال به‌هم‌پیوسته چندین واحد پردازشی شکل می‌گیرد. شبکه از تعداد مشخصی سلول، گره یا نرون تشکیل می‌شود که مجموعه ورودی را به خروجی ربط می‌دهد. هر یک از نرون‌ها دارای یک تابع فعالیت است که بسته به نوع مسئله، متفاوت است. تابع فعالیت وظیفه دارد با دریافت مجموعه سیگنال‌های واردشده به نرون به‌عنوان سیگنال ورودی، سیگنال خروجی را از نرون فراهم کند. برای بهبود محاسبات بین لایۀ ورودی و خروجی از چند لایۀ پنهان استفاده می‌شود. شبکۀ عصبی مصنوعی روشی عملی برای یادگیری توابع گوناگون نظیر توابع با مقادیر حقیقی، توابع با مقادیر گسسته و توابع با مقادیر برداری است. یادگیری شبکۀ عصبی در برابر خطا‌های داده‌های آموزشی مصون بوده و با موفقیت به مسائلی نظیر شناسایی گفتار، شناسایی و تعبیر تصاویر، یادگیری ربات و غبره پاسخگو است ]26[.

یکی از انواع شبکه‌های عصبی، شبکۀ عصبی پرسپترون است؛ این شبکه‌ها ساختاری رو به جلو[9] دارند که از قانون دلتای عمومی[10] یا بازگرداندن خطا[11] (انتشار خطا) برای یادگیری استفاده می‌کنند. یک روش، استفاده از گرادیان کاهشی[12] است که مجموع مربعات خطای خروجی شبکه را مینیمم کند. یادگیری این شبکه شامل سه مرحله است. در ابتدا باید ورودی‌ها را به شبکه اعمال کرد و لایه‌به‌لایه محاسبات را انجام داد تا به خروجی رسید. سپس باید خطا را در خروجی محاسبه کرد و با استفاده از روش بازگرداندن خطا به لایه‌هایی قبل بازگشت و در گام آخر وزن‌ها را تنظیم کرد ]27[. شکل (1) ساختار شبکۀ عصبی پرسپترون را به همراه یک لایۀ مخفی نشان می‌دهد.

شکل (1): ساختار شبکۀ عصبی چندلایۀ پرسپترون با یک لایۀ مخفی

 

3- الگوریتم پیشنهادی

الگوریتم SPSA بیان‌شده در قسمت دوم، مشکلاتی دارد؛ یکی از مهم‌ترین این مشکلات، بالابودن زمان محاسبات است.

یکی از عوامل مؤثر در سرعت بخشیدن به الگوریتم، مقادیر تخمین زده شدۀ‌ هر تکرار است که به‌عنوان شرایط اولیه در تکرار بعدی برای تخمین مقدار مطلوب استفاده می‌شوند. این امر به‌وضوح در رابطۀ بازگشتی (4) مشاهده می‌شود. به بیان ساده‌تر، در این الگوریتم چون از بهینه‌سازی استفاده می‌شود، هر‌چه مقدار تقریب زده شدۀ هر تکرار از شرایط مطلوب‌تری برخوردار باشد، در تکرار بعد سریع‌تر جواب مطلوب به دست می‌آید؛ بنابراین، در هر تکرار، مقادیر اولیه نقش بسزایی در سرعت همگرایی الگوریتم دارند.

در این مقاله، با آموزش‌دادن شبکۀ عصبی پرسپترون، مقادیر داده‌های مجهول در برخی دوره‌های خاص (برای مثال، به‌صورت بازه‌ای یا وقوع تغییرات سیگنال مرجع) در اختیار الگوریتم SPSA قرار می‌گیرد. فاصلۀ زمانی این دوره‌های خاص با توجه به میزان سرعت تغییرات سیگنال مرجع و سیستم در کنترل تعیین می‌شود. به عبارتی، هنگامی که یک سیستم تغییرات شدید ندارد و سیگنال SPSA هم همگرا شده است، استفاده از خروجی شبکۀ عصبی به‌صورت دائم در هر تکرار نیاز نیست؛ بنابراین، اگر تغییراتی ایجاد شود، مانند تغییر سیگنال مرجع، آنگاه نیاز است از خروجی شبکۀ عصبی برای مقداردهی به الگوریتم SPSA استفاده شود. برای رسیدن به این منظور باید از تعدادی داده برای آموزش استفاده کرد. تعیین این داده‌ها بسته به نوع پلنت کنترلی، متفاوت است. می‌توان آموزش را به کمک تعدادی داده آغاز کرد که آنها داده‌های با اهمیت نام‌گذاری می‌شوند. این داده‌ها یا به‌صورت برون‌خط به‌عنوان پایگاه داده دردسترس است یا براساس تجربه به‌ازای چند ورودی متفاوت چند پاسخ مناسب دردسترس است. در گام بعد، پس از آموزش اولیه در دوره‌هایی که مطلوب کاربر است، با اجراشدن الگوریتم داده‌های آموزشی به‌روز می‌شوند. این بدان معنا است که الگوریتم، فرایند آموزش را به‌صورت برخط انجام می‌دهد.

به‌منظور آموزش بهتر الگوریتم SPSA بهتر است علاوه بر استفاده از داده‌های آنلاین، از داده‌های بااهمیت نیز استفاده شود؛ بنابراین، این عمل باعث بالارفتن کیفیت داده‌های آموزشی شبکۀ عصبی می‌شود. فلوچارت الگوریتم پیشنهادی در شکل (2) و ساختار کلی کنترل‌کننده در شکل (3) مشاهده می‌شود.

 

 

 

شکل (2): فلوچارت الگوریتم پیشنهادی.

 

 

شکل (3): ساختار کلی طراحی کنترل‌کننده (PID) به کمک الگوریتم پیشنهادی.

 

 

با توجه به شکل (3)، روند طراحی به‌صورت زیر بیان می‌شود.

در ابتدا باید داده‌های اولیه مشخص شوند. این داده‌ها عبارت‌اند از  که برای محاسبات الگوریتم تقریبات تصادفی انحرافات هم‌زمان استفاده می‌شوند. انتخاب این داده‌ها بسته به مسئله، متفاوت است. سپس شبکۀ عصبی با داده‌های اولیۀ موجود آموزش داده می‌شود که روند به دست آوردن این داده‌ها قبلاً توضیح داده شده است. با کمک شبکۀ عصبی شرایط اولیه برای کنترل‌کننده (PID) (kp0,ki0,kd0) مشخص می‌شود. در ادامه بعد از شروع به کار فرایند، همواره داده‌هایی همچون مقدار مطلوب ورودی، مقدار خروجی و سیگنال خطا دردسترس‌اند. از این 3 داده می‌توان به‌عنوان داده‌های آموزشی ورودی شبکه و از پارامترهای کنترلی تولیدشده با الگوریتم تقریبات تصادفی انحرافات هم‌زمان به‌عنوان دادۀ خروجی شبکه برای آموزش استفاده کرد. حال بسته به نیاز کاربر، در دوره‌های معلوم‌شده، داده‌های مورد نیاز الگوریتم تقریبات تصادفی انحرافات هم‌زمان (مشخص‌شده در شکل (3)) kp1,ki1,kd1 از شبکه دریافت می‌شود.

فرایند یادشده باعث بالارفتن دقت داده‌های آموزشی و افزایش تقاوم الگوریتم در برابر بروز تغییرات ناگهانی در سیستم می‌شود. همان‌گونه که اشاره شد در آموزش با نظارت، اساسی‌ترین مسئله در فرایند آموزش، کیفیت داده‌های آموزشی است. این امر بدان معناست که هرچه داده‌های آموزشی از کیفیت بالا‌تری برخوردار باشند، شبکه به داده‌های ورودی، بهتر پاسخ می‌دهد و این امر با اجراشدن الگوریتم و تکرار‌های پیاپی بهتر می‌شود؛ اما نکتۀ شایان توجه آنکه در سیستم‌های کنترلی واقعی امکان بروز تغییرات ناگهانی در سیگنال مرجع سیستم‌ها وجود دارد و اگر فرایند کنترل به‌صورت برخط صورت گیرد، باعث پدیدآمدن مشکلاتی در سیستم می‌شود؛ برای مثال، فرض کنید هدف فرایند کنترل دستیابی به پاسخ مطلوب پله واحد باشد. حال اگر در صورت بروز مشکلی، ناگهان ورودی مطلوب از پلۀ واحد با ضریبی از این مقدار جایگزین شود، الگوریتمی که در پی پاسخ‌دادن به ورودی پله واحد بوده است، باید به ورودی جدید پاسخ دهد. این امر بدان معنا است که الگوریتمی که مدت زمان زیادی را صرف رسیدن به پاسخ مطلوب پلۀ واحد کرده است، ناگهان از این پاسخ فاصله می‌گیرد و داده‌های اشتباه را تولید می‌کند و حتی بعد از بازگرداندن سیگنال مرجع به مقدار مطلوب، زمان زیادی صرف اصلاح داده‌های اشتباه می‌شود؛ اما در الگوریتم پیشنهادی با کمک شبکۀ عصبی این مشکل از بین می‌رود؛ زیرا شبکۀ عصبی به کمک حجم بالایی از داده‌های آموزشی مناسب آموزش دیده است و به‌ازای سیگنال‌های مرجع متفاوت مقدار اولیه مناسب را برای الگوریتم SPSA تولید می‌کند. با توجه به اینکه خروجی شبکۀ عصبی همان داده‌های اولیۀ مناسب برای الگوریتم SPSA است، این امر باعث تسریع الگوریتم برای رسیدن به مقدار مطلوب در تعداد گام کمتر می‌شود.

 

3-1- آنالیز همگرایی الگوریتم پیشنهادی

همان‌گونه که بیان شد یکی از عوامل مؤثر در سرعت‌بخشیدن به الگوریتم، مقادیر تخمین زده شدۀ ‌هر تکرار است که به‌عنوان شرایط اولیه در تکرار بعدی برای تخمین مقدار مطلوب استفاده می‌شود. تفاوت اساسی الگوریتم پیشنهادی با الگوریتم SPSA در این است که در روش پیشنهادی، به‌منظور دستیابی به سرعت همگرایی بیشتر، شرایط اولیه الگوریتم SPSA به‌صورت هدفمند و براساس خروجی شبکۀ عصبی مقداردهی می‌شود؛ بنابراین، شرایط همگرایی الگوریتم SPSA تحت تأثیر قرار نمی‌گیرد و تمامی شرایط همگرایی بیان‌شده در مقاله ]25[ برای روش پیشنهادی برقرار است.

همچنین اگر سیستم با تغییراتی مواجه شود، شبکۀ عصبی، مقادیر اولیه‌ای را در اختیار الگوریتم SPSA قرار می‌دهد که با توجه به آموزش صورت‌گرفته، بسیار نزدیک به خروجی مطلوب الگوریتم SPSA است؛ بنابراین، الگوریتم SPSA در تعداد گام کمتر یا به عبارتی در زمان کمتر، به مقدار نهایی خود همگرا می‌شود.

 

4- شبیه‌سازی

4-1- توزیع اندازۀ ذرات سنگ‌زنی سیمان

پروسۀ توزیع اندازۀ ذرات سنگ‌زنی سیمان، یکی از پروسه‌های صنعتی است که طراحی کنترل‌کننده برای آن دشوار است ]28[. شبیه‌سازی زیر کارایی الگوریتم پیشنهادی را در کنترل پروسۀ سنگ‌زنی سیمان نشان می‌دهد. به‌طور خلاصه، روند فرآیند سنگ‌زنی سیمان در شکل (4) مشاهده می‌شود.

 

 

 

شکل (4): فرآیند سنگ‌زنی سیمان

 

 

در فرایند سنگ‌زنی سیمان، عوامل بسیاری همانند سرعت فن‌ها، سرعت جداکننده و ... مؤثرند؛ البته باید توجه داشت برای دستیابی به هر سایز مطلوب، سرعت چرخش فن‌ها و جداکننده نقش متفاوتی دارند؛ برای مثال، اگر سایز کمتر از 3 میکرومتر مدنظر باشد، سرعت فن‌ها اهمیت پیدا می‌کند؛ اما اگر اندازۀ مطلوب ذرات بین 3 تا 32 میکرومتر باشد، کافی است سرعت جداکننده مدنظر قرار گیرد.

تابع سنگ‌زنی سیمان، یک تابع غیرخطی همانند رابطه (8) است:

(8)

 

 

که در آن  با رابطه (9) نشان داده می‌شود.

(9)

 

 

خروجی y نشان‌دهندۀ نسبت اندازۀ ذرات و u نشان‌دهندۀ سرعت جداکننده است. درخور ذکر است m و nبه‌ترتیب مرتبه‌های ورودی و خروجی‌اند. و  نشان‌دهندۀ نمونۀ کنونی است و ،  نشان‌دهندۀ n و m نمونه قبل و  نشان‌دهندۀ مقدار نمونۀ بعد است.

طبق پژوهش‌های موجود، مدلی ساده‌شده به فرم (10)، برای شبیه‌سازی در نظر گرفته شده است ]28[.

(10)

 

 

که در آن c1=1.879، c2=-0.1902، d1=-0.0159، d2=0.0267، d3=0.0107 است.

رابطه (11) رابطۀ کنترلی در نظر گرفته می‌شود:

(11)

 

 

با توجه به شکل (3)، سیگنال‌های  و  و  مقادیر تخمین زده شده به کمک شبکۀ عصبی در دوره‌های معلوم است که برای استفاده در تکرار بعدی در اختیار الگوریتم SPSA قرار می‌گیرد.

شایان ذکر است بردار  با توجه به رابطه (12) شامل همان پارامترهای کنترلی است که هدف اصلی به دست آوردن این پارامتر‌ها است.

(12)

 

 

رابطه (13) مقادیر مطلوب اندازۀ ذرات را نشان می‌دهد.

(13)

 

 

در این مقاله، ضریب  برابر با 602.0 و ضریب  برابر 101.0 و 100=A، 20= ، 5= ، 50= ، 2= ، 2= ، 2=  در نظر گرفته شده است. نکته شایان توجه اینکه در انتخاب A باید دقت داشت مقدار آن از مقدار تکرارها کمتر باشد.

نتایج شبیه‌سازی در شکل (5) مشاهده می‌شود.

 

 

 

شکل (5): منحنی نشان‌دهندۀ اندازۀ ذرات حاصل از فرآیند سنگ‌زنی سیمان کنترل‌شده با کنترل‌کننده (PID) تطبیقی به همراه الگوریتم (SPSA) و آموزش شبکۀ عصبی

 

 

به دلیل بالابودن سرعت این روش و پاسخ‌دهی آن در تکرارهای کم، امکان مقایسه این روش با روش ارائه‌شده در ]28[ به دلیل تکرار بالا بالغ بر 60000 وجود ندارد؛ بنابراین، نتایج حاصله از اجراشدن الگوریتم ارائه‌شده در ]28[ در شکل (6) مشاهده می‌شود.

 

 

 

 

شکل (6):منحنی نشان‌دهندۀ اندازۀ ذرات حاصل از فرآیند سنگ‌زنی سیمان کنترل‌شده با کنترل‌کننده (PID) تطبیقی به همراه الگوریتم (SPSA)]28[.

 

با توجه به شکل (5)، الگوریتمی که از شبکۀ عصبی استفاده می‌کند، با توجه به آموزش شبکۀ عصبی و با در دست داشتن مقدار اولیۀ نزدیک به مقدار مطلوب، خطای خروجی به‌سرعت به سمت صفر نزدیک می‌شود.

نکته درخور توجه دیگر اینکه تقاوم بالای الگوریتم پیشنهادی در برابر تغییرات سریع مقدار مطلوب است. با توجه به شکل (5)، با اعمال سه مقدار مطلوب متفاوت، الگوریتم، پاسخ مناسب را تنها بعد از چند تکرار و با استفاده از اولین آموزش شبکۀ عصبی و بدون انحراف پاسخ، در اختیار کاربر قرار داده است؛ اما الگوریتم ارائه‌شده در ]28[ (که پاسخ آن در شکل (6) آمده است)، برای دستیابی به پاسخ مناسب مقادیر مطلوب به زمان نیاز دارد و تا تکرار 6000 ذرات با اندازۀ مناسب را فراهم نمی‌کند.

 

4-2- کنترل زاویۀ پیچ[13] هواپیما

سیستم مطالعه‌شدۀ دوم، کنترل زاویۀ پیچ هواپیما است که برگرفته از مرجع ]29[ است. هواپیما بیشتر، توانایی چرخش به حول سه‌محور را داراست. محور اول، محوری عمودی با نام یاو[14]، محور دوم، محور طولی با نام رول[15] و در انتها محور جانبی با نام پیچ است. زاویۀ پیچ از دوران به حول خطی فرضی در نظر گرفته می‌شود که از انتهای یک بال تا انتهای بال دیگر است. معادلات حاکم بر هواپیما یک مجموعۀ بسیار پیچیده از شش معادلۀ دیفرانسیلی تلفیقی غیرخطی است.

دینامیک زاویۀ پیچ هواپیما با تابع تبدیل (14) نشان داده می‌شود:

(14)

 

 

از این رابطه به‌منظور تعیین جهت‌گیری دماغۀ هواپیما با توجه به محور مجانبی با استفاده از الگوریتم پیشنهادی استفاده شده است.

به‌منظور شبیه‌سازی همانند قبل برای محاسبۀ گین  و  ضریب  برابر با 602.0 و ضریب  برابر 101.0 و بقیه پارامترها به‌صورت زیر در نظر گرفته می‌شوند:

 100=A، 30= ، 10= ، 40= ، 0.01= ، 0.01= ، 0.01=  .

علاوه بر روش پیشنهادی،SPSA  نیز برای مقایسه به سیستم اعمال می‌شود. در شبیه‌سازی تعداد تکرار‌ها برای هر دو الگوریتم، یکسان و برابر با 20 تکرار است. نتایج حاصله از شبیه‌سازی در شکل (7) نشان داده شده‌اند.

با کمی دقت در شکل (7) می‌توان دریافت پاسخ الگوریتم پیشنهادی، سرعت و کیفیت بالاتر و پاسخ، انحراف کمتری دارد و سیگنال خطا با سرعت بیشتری به سمت صفر میل می‌کند.

 

 

`

شکل (7): منحنی پاسخ کنترل زاویۀ پیچ هواپیما به کمک طراحی کنترل‌کننده (PID) تطبیقی و الگوریتم (SPSA) در قیاس با طراحی کنترل‌کننده (PID) تطبیقی و الگوریتم (SPSA) و آموزش شبکۀ عصبی.

 

5- نتیجه‌گیری

هدف از این پژوهش، ارائۀ راهکاری به‌منظور به دست آوردن برخط پارامتر‌های کنترلی PID بدون نیاز به مدل سیستم است. روش‌های پیشنهادی که معمولاً به ‌کار گرفته می‌شوند، مستلزم آن‌اند که مدل تقریبی سیستم را در اختیار داشته باشند. در بسیاری از سیستم‌ها، به دست آوردن مدل سیستم، امری دشوار یا معمولاً امکان‌ناپذیر است؛ بنابراین، در این مقاله با استفاده از SPSA و بهره‌گیری از شبکۀ عصبی در انتخاب شرایط اولیۀ مناسب، الگوریتمی پیشنهاد شد که تنها با استفاده از داده‌های خروجی و داده‌های ورودی، پارامتر‌های کنترل‌کننده PID را به‌صورت برخط تخمین می‌زند.

به‌کارگیری شبکۀ عصبی در روش پیشنهادی باعث کاهش حجم محاسبات الگوریتم SPSA و افزایش سرعت همگرایی الگوریتم و مقاوم‌بودن سیستم در برابر تغییرات ناگهانی سیگنال مرجع می‌شود.



[1]تاریخ ارسال مقاله: 07/06/1398

تاریخ پذیرش مقاله: 06/03/1399

نام نویسنده مسئول: ملیحه مغفوری فرسنگی

نشانی نویسنده مسئول: ایران - کرمان - دانشگاه شهید باهنر کرمان - بخش برق



[1] Model Based Control (MBC)

[2] Model Free Adaptive Control (MFAC)

[3] Unfalsified Control (UC)

[4] Correlation-Based Tuning (CBT)

[5] Virtual Reference Feedback Tuning (VRFT)

[6] Iterative Feedback Tuning (IFT)

[7] Artificial Neural Network (ANN)

[8] Multi-layer perceptron

[9] Feedforward

[10] Generalized Delta Rule

[11] Backpropagation of errors

[12] Gradient Descent Method

[13] Pitch angle

[14] Yaw angle

[15] Roll angle

[1]          Z. Hou, H. Gao, F. L. Lewis, "Data-driven control and learning systems", IEEE Trans. on Industrial Electronics, Vol. 64, No. 5, May 2017.
[2]          D. Piga, S. Formentin, A. Bemporad, "Direct data-driven control of constrained systems", IEEE Trans. on Control Systems Technology, Vol. 26, No. 4, July 2018.
[3]          S. Yin, X. Li, H. Gao, O. Kaynak, "Data-based techniques focused on modern industry: An overview", IEEE Trans. on Industrial Electronics, Vol. 62, No. 1, January 2015.
[4]          M. Tanaskovic, L. Fagiano, C. Novara, M. Morari, "Data-driven control of nonlinear systems: An on-line direct approach", Automatica, Vol. 75, No. 1, January 2017.
[5]          Y. Zhu, Z. Hou, "Controller dynamic linearization-based model-free adaptive control framework for a class of non-linear system", IET Control Theory & Applications, Vol. 9, No. 7, April 2015.
[6]          Z. Hou, S. Jin, "Data-driven model-free adaptive control for a class of MIMO nonlinear discrete-time systems", IEEE Trans. Neural Network, Vol. 22, No. 12, November 2011.
[7]          Z. Hou, S. Jin, "A novel data-driven control approach for a class of discrete-time nonlinear systems", IEEE Trans. Control Syst Technol, Vol. 19, No. 6, December 2011.
[8]          K. Chen, S. Li, "Unfalsified Adaptive PID Control for Time-Varying Systems Using a Fading Memory Cost Function", Circuits, Systems, and Signal Processing, Vol. 35, No. 9, September 2016.
[9]          D. Invernizzi, P. Panizza, F. Riccardi, S. Formentin, M. Lovera, "Data-driven attitude control law of a variable-pitch quadrotor: a comparison study", IFAC-Papers On Line, Vol.49, No. 17, January 2016.
[10]          A. Sala, "Integrating virtual reference feedback tuning into a unified closed-loop identification framework", Automatica, Vol. 43, No. 1, January 2007.
[11]          M. Radac, R. Precup, R. Roman, "Data-driven model reference control of MIMO vertical tank systems with model-free VRFT and Q-Learning", ISA Trans., Vol. 73, No. 1, February 2018.
[12]          W. Meng, S. Q. Xie, Q. Liu, C. Z. Lu, Q. Ai, "Robust iterative feedback tuning control of a compliant rehabilitation robot for repetitive ankle training", IEEE/ASME Transactions on Mechatronics, Vol. 22, No. 1, February 2017.
[13]          J. C. Spall, "Multivariate stochastic approximation using a simultaneous perturbation gradient approximation", IEEE Trans. on Automatic Control, Vol. 37, No. 3, March 1992.
[14]          A. Savran, G. Kahraman, "A fuzzy model based adaptive PID controller design for nonlinear and uncertain processes", ISA Transactions, Vol. 53, No. 2, March 2014.
[15]          B. Kostic, G. Gentile, C. Antoniou, "Techniques for improving the effectiveness of the SPSA algorithm in dynamic demand calibration", In Models and Technologies for Intelligent Transportation Systems (MT-ITS), 5th IEEE International Conference, pp. 368-373, 26 June 2017.
[16]          K. Ito, T. Dhaene, "Adaptive initial step size selection for Simultaneous Perturbation Stochastic Approximation", Springer Plus, Vol. 5, No. 1, December 2016.
[17]          L. Lu, Y. Xu, C. Antoniou, M. Ben-Akiva, "An enhanced SPSA algorithm for the calibration of Dynamic Traffic Assignment models Transportation Research Part C", Emerging Technologies, Vol. 51, No. 1, February 2015.
[18]          B. Pouladi, A. Karkevandi-Talkhooncheh, M. Sharifi, S. Gerami, A. Nourmohammad & A. Vahidi., Enhancement of SPSA algorithm performance using reservoir quality maps: Application to coupled well placement and control optimization problems", Journal of Petroleum Science and Engineering, Vol. 189, January 2020.
[19]          M. Nik Mohd Zaitul Akmal, et al, "Data-Driven PID Tuning for Liquid Slosh-Free Motion Using Memory-Based SPSA Algorithm", 10th National Technical Seminar on Underwater System Technology, pp. 197-210, Springer, Singapore, 2019.
[20]          M. Nazri, A. Fadhlan, M. Ikram Mohd Rashid, "Simultaneous Perturbation Stochastic Approximation Optimization for Energy Management Strategy of HEV", 10th National Technical Seminar on Underwater System Technology, pp. 361-368, Springer, Singapore, 2019.
[21]          B. Pérez-Sánchez, O. Fontenla-Romero, B. Guijarro-Berdiñas, "A review of adaptive online learning for artificial neural networks", Artificial Intelligence Review, Vol. 49, No. 2, February 2018.
[22]          M. W. Gardner, S. R. Dorling, "Artificial neural networks (the multilayer perceptron)-a review of applications in the atmospheric sciences", Atmospheric environment, Vol. 32, No. 14-15, August 1998.
[23]          N. B. Chaphalkar, K. C. Iyer, S. K. Patil, "Prediction of outcome of construction dispute claims using multilayer perceptron neural network model", International Journal of Project Management, Vol. 33, No. 8, November 2015.
[24]          M. S. Odabas, H. Simsek, C. W. Lee CW, İ. İseri. "Multilayer Perceptron Neural Network Approach to Estimate Chlorophyll Concentration Index of Lettuce (Lactuca sativa L.) ", Communications in soil science and plant analysis, Vol. 48, No. 2, January 2017.
[25]          J. C. Spall, J. A. Cristion, "Model-free control of nonlinear stochastic systems with discrete-time measurements", IEEE Trans. on automatic control, Vol. 43, No. 9, September 1998.
[26]          L. Fausett,"Fundamentals of neural networks: architectures algorithms, and applications", Pearson Education India, 2006.
[27]          J. Zou, Y. Han, S. S. So, "Overview of artificial neural networks", Artificial Neural Networks, Humana Press, pp. 14-22, 2008.
[28]          L. Zhang, Z. Yuan, X. Du, Y. Gong, "An adaptive PID control for cement grinding particle size based on simultaneous perturbation stochastic approximation", Chinese Automation Congress (CAC) IEEE, pp. 1191-1195, 20 October 2017.
[29]          A. S. Bazanella, L. F. Pereira, A. Parraga. "A new method for PID tuning including plants without ultimate frequency", IEEE Trans. on Control Systems Technology, Vol. 25, No. 2, May 2016.