شما در حال مطالعه نسخه آفلاین یکی از مطالب «مجله فرادرس» هستید. لطفاً توجه داشته باشید، ممکن است برخی از قابلیتهای تعاملی مطالب، مانند امکان پاسخ به پرسشهای چهار گزینهای و مشاهده جواب صحیح آنها، نمایش نتیجه آزمونها، پاسخ تشریحی سوالات، پخش فایلهای صوتی و تصویری و غیره، در این نسخه در دسترس نباشند. برای دسترسی به نسخه آنلاین مطلب، استفاده از کلیه امکانات آن و داشتن تجربه کاربری بهتر اینجا کلیک کنید.
در آموزشهای قبلی مجله فرادرس، با جایابی قطب به کمک فیدبک حالت آشنا شدیم. در این آموزش، درباره طراحی رؤیتگر یا مشاهدهگر (Observer) برای تخمین حالت (State Estimation) بحث خواهیم کرد.
برای سیستمهای مشاهدهپذیر (تعریف این سیستمها را در ادامه بیان میکنیم)، حالت x را با استفاده از خروجی y=Cx توسط یک مشاهدهگر تخمین میزنیم. در مواردی که حالت برای طراحی کنترلکننده u=−Kx در دسترس نیست، میتوانیم در صورت امکان از تخمین آن، یعنی x^، استفاده کنیم.
در نتیجه، میتوانیم فیدبک u=−Kx^ را به کار ببریم. در واقع، وقتی فیدبک حالت کامل امکانپذیر نباشد، از یک مشاهدهگر برای تخمین حالت x استفاده میشود.
در حقیقت، میخواهیم مشاهدهگری طراحی کنیم که تخمین حالت x آن به صورت مجانبی دقیق باشد:
∥x(t)−x(t)∥=i=1∑n(xi(t)−xi(t))2→0, as t→∞.
x˙y=Ax+Bu,=Cx,
اگر در طراحی مشاهدهگر درست عمل کنیم، آنگاه میتوانیم یک فیدبک حالت تخمین زده شده را طراحی کنیم.
ماتریس مشاهدهپذیری
همانطور که میدانیم، اگر سیستم کاملاً کنترلپذیر باشد، قطبهای حلقهبسته را میتوان با استفاده از فیدبک حالت کامل جایابی کرد. اکنون خواهیم دید وقتی سیستم کاملاً مشاهدهپذیر باشد، تخمین حالت مجانبی دقیق ممکن خواهد بود. در حقیقت، مشاهدهپذیری یک ویژگی سیستم است که دوگان کنترلپذیری است.
سیستم تکخروجی زیر را با y∈R1 در نظر بگیرید:
x˙y=Ax+Bu,=Cx,
که در آن، x∈Rn. ماتریس مشاهدهپذیری به صورت زیر تعریف میشود:
O(A,C)=CCA⋮CAn−1.(1)
که در آن، C یک ماتریس 1×n و A یک ماتریس n×n است. بنابراین، ماتریس مشاهدهپذیری O(A,C) یک ماتریس n×n خواهد بود. ماتریس مشاهدهپذیری تنها با ماتریسهای A و C سر و کار دارد.
سیستم بالا کاملاً مشاهدهپذیر است، اگر ماتریس مشاهدهپذیری O(A,C) معکوسپذیر باشد. این تعریف فقط برای مواردی با یک خروجی معتبر است. تعریف فوق را میتوان با استفاده از رتبه (Rank) ماتریس مشاهدهپذیری O(A,C) برای سیستمهایی با چند ورودی تعمیم داد.
مثال
ماتریس مشاهدهپذیری O(A,C) سیستم زیر را محاسبه کنید:
A=(01−6−5),C=(01).
حل: ماتریسهای داده شده، برای یک سیستم تکخروجی با دو متغیر حالت هستند؛ یعنی n=2، C∈R1×2 و A∈R2×2. بنابراین O(A,C)∈R2×2.
با نوشتن ماتریس مشاهدهپذیری (۱)، داریم:
O(A,C)=[CCA],
که در آن:
CA⟹O(A,C)=(01)(01−6−5)=(1−5).=(011−5).
در ماتریس مشاهدهپذیری بالا، detO(A,C)=−1=0، بنابراین، سیستم کاملاً مشاهدهپذیر است. ماتریسهای A و C سیستم به فرم کانونی مشاهدهپذیر (OCF) هستند.
فرم کانونی مشاهدهپذیر
مدل فضای حالت سیستم زیر را در نظر بگیرید:
x˙y=Ax+Bu,=Cx
اگر ماتریسهای A و C به فرم زیر باشند، سیستم همواره مشاهدهپذیر خواهد بود:
از آنجایی که detT=0، داریم: detO(Aˉ,Cˉ)=0، اگر و تنها اگر detO(A,C)=0. بنابراین، سیستم جدید کاملاً مشاهدهپذیر است، اگر و تنها اگر سیستم اصلی مشاهدهپذیر باشد.
اگر سیستم اصلی مشاهدهپذیر باشد، آنگاه با توجه به اثبات بالا برای تغییرناپذیری مشاهدهپذیری، فرمولی برای تبدیل خطی T به دست میآوریم:
قضیه: اگر سیستم مشاهدهپذیر باشد، آنگاه یک مشاهدهگر (تخمینگر حالت) وجود خواهد داشت که یک تخمین x از حالت x بر اساس خروجی مشاهده شده y ارائه میکند که به صورت مجانبی همگرا است.
مشاهدهگر لیونبرگر (Luenberger)
مدل فضای حالت زیر را در نظر بگیرید (فرض میکنیم u=0):
فرض کنید λ1، λ2، ... و λn مقادیر ویژه ماتریس F باشند؛ یعنی ریشههای det(sI−F)=0. اگر ماتریس Fقطریپذیر باشد، آنگاه ماتریس T∈Rn×n به گونهای وجود خواهد داشت که T−1=TT (T در این مورد متعامد است) و داریم:
F=T−1λ1λ2⋱λnT.
از تغییر مختصات vˉ=Tv استفاده میکنیم. در نتیجه:
vˉ˙=TFT−1vˉ=λ1λ2⋱λnvˉ.(3)
معادلات (۳) به صورت زیر هستند:
vˉ˙i=λivˉi,∀i=1,2,…,n.
برای هر i که 1≤i≤n، معادله دیفرانسیل مرتبه اول داری جواب زیر است:
vˉi(t)=vˉi(0)eλit.
علاوه براین، اگر همه λiها بخشهای حقیقی منفی داشته باشند، آنگاه:
∥v(t)∥2=v(t)Tv(t)=vˉ(t)Tvˉ(t)≤Ce−2σmint,
که در آن، σmin=1≤i≤nmin∣Re(λi)∣. این عبارت بیان میکند که v(t) با یک نمایی متناظر با کندترین مد کاهش ضرب در ثابتی وابسته به n است.
فرض بر این است که ماتریس ALC هرویتز است؛ یعنی همه مقادیر ویژه در سمت چپ محور موهومی هستند. در این صورت:
∥x(t)−x(t)∥2=∥e(t)∥2=i=1∑n∣ei(t)∣2→0, as t→∞.
بنابراین، برای همگرایی سریع خطای تخمین به صفر (یعنی میل کردن تخمین x^ به حالت x)، باید مقادیر ویژه A−LC در سمت چپ محور موهومی و دور از آن باشند.
از معادله (۲) میتوانیم رابطه ورودی-خروجی از Y(s) به X^(s) را به دست آوریم:
مقادیر ویژه A−LC قطبهای مشاهدهگر هستند. مطلوب این است که این قطبها پایدار و سریع باشند تا خطای تخمین سریعاً به صفر میل کند.
مشاهدهپذیری و جایابی قطب مشاهدهگر
اگر سیستمِ
x˙y=Ax,=Cx
کاملاً مشاهدهپذیر باشد، آنگاه میتوان به صورت دلخواه مقادیر ویژه ALC را با انتخاب مناسب ماتریس تزریق خروحی L تعیین کرد. این مورد، مشابه کنترلپذیری است که جایابی قطب حلقه بسته با فیدبک حالت u=−Kx انجام میشود. بنابراین، میتوان گفت که CCF دوگان OCF است.
در واقع، یک سیستم تکخروجی در OCF با y∈R1 به صورت زیر است:
نکته: وقتی سیستم به فرم کانونی مشاهدهپذیر (OCF) باشد، هر درایه ماتریس تزریق خروجی L تحت تأثیر ضرایب چندجملهای مشخصه قرار میگیرد که میتوان آن را به صورت دلخواه با انتخاب مناسب l1، l2، ... و ln تعیین کرد. بنابراین، نام فرم کانونی مشاهدهپذیر برای طراحی مشاهدهگر مناسب است.
میتوانیم روش کلی طراحی را برای هر سیستم کاملاً مشاهدهپذیر به صورت زیر خلاصه کنیم:
مدل فضای حالت سیستم را با یک تبدیل مختصات وارون پذیر T=newO(Aˉ,Cˉ)−1old[O(A,C)] به فرم کانونی مشاهدهپذیر تبدیل کنید.
Lˉ را به گونهای پیدا کنید که Aˉ−LˉCˉ دارای مقادیر ویژه مطلوب مشاهدهگر باشد.
جواب را به مختصات اصلی برگردانید: L=T−1Lˉ.
آنگاه، مشاهدهگر به صورت زیر خواهد بود:
x˙=(A−T−1LˉC)x+T−1Lˉy.
اما این رویه به دلیل رابطه دوگان کنترلپذیری و مشاهدهپذیری کاملاً ضروری نیست.
قضیه دوگانی کنترلپذیری و مشاهدهپذیری: سیستمِ
x˙y=Ax,=Cx
کاملاً مشاهدهپذیر است، اگر و تنها اگر سیستمِ
x˙=ATx+CTu(5)
کاملاً کنترلپذیر باشد.
اثبات: ماتریس کنترلپذیری سیستم در معادله (۵) به صورت زیر محاسبه میشود:
در شکل ۳، بلوک سنسور بین کنترلکننده و خروجی y وجود ندارد. بنابراین، فیدبک حالت کامل u=−Kx به دلیل کمبود اطلاعات درباره حالت درونی x قابل پیادهسازی نیست.
در بخشهای قبل یک مشاهدهگر برای تخمین حالت x طراحی کردیم. بین خروجی y و کنترلکننده، یک بلوک مشاهدهگر داریم که مطابق شکل ۱ است. تا اینجا سیستمهای خودگردان با ورودی صفر را در نظر گرفتیم. اکنون سیستم دارای ورودی را بررسی میکنیم.
فرض کنید (A,B) کاملاً کنترلپذیر و (A,C) کاملاً مشاهدهپذیر باشند و سیستمی به شکل زیر داشته باشیم:
x˙y=Ax+Bu,=Cx
فیدبک حالت کامل و مشاهدهگر را میتوان مطابق شکل ۴ پیادهسازی کرد.
روش یافتن K را به گونهای که A−BK دارای مقادیر ویژه مطلوب باشد، از روش جایابی قطب میدانیم. مسئله این است که از آنجایی که به x دسترسی نداریم، باید یک مشاهدهگر طراحی کنیم و باید کمی اصلاحات در آنچه که قبلاً طراحی کردیم انجام دهیم، زیرا اکنون Bu صفر نیست.
مشاهدهگر در حضور ورودی کنترل
ابتدا این موضوع را بررسی میکنیم که چرا استفاده از روش قبلی (بدون اصلاح) به اشتباه میانجامد:
x˙=(A−LC)x+Ly.
برای تخمین خطای e=x−x، داریم:
e˙=x˙−x˙=Ax+Bu−[(A−LC)x+LCx]=(A−LC)e+Bu.(6)
اگر u=0، آنگاه Bu لزوماً صفر نیست. در نتیجه، دیگر لزوماً جواب حالت ماندگار e(∞)=0 نیست، حتی وقتی t→∞ و e(t) همگرا شود، ممکن است این همگرایی به صفر نباشد و سبب یک خطای ثابت شود.
البته این مورد را میتوان اصلاح کرد. از آنجایی که u سیگنالی است که به آن دسترسی داریم، میتوانیم از آن به عنوان ورودی مشاهدهگر استفاده کرده و جمله Bu را از x˙ حذف کنیم.
با توجه به مشاهدهپذیری، میتوانیم مقادیر ویژه A−LC را به صورت دلخواه تعیین کنیم. این مقادیر ویژه باید دور از محور موهومی و در سمت چپ آن باشند تا خطا سریعاً به صفر کاهش پیدا کند. با توجه به کنترلپذیری، میتوانیم مقادیر ویژه A−BK را به صورت دلخواه تعیین کنیم.
بنابراین، کنترل کننده حاصل مبتنی بر تخمین حالت x^ به صورت زیر است:
u=−Kx
و سیستم مشاهدهگر-کنترلکننده به صورت زیر خواهد بود:
x˙u=(A−LC)x+Ly+B=u(−Kx)=(A−LC−BK)x+Ly,=−Kx.
سیستم بالا یک سیستم دینامیکی با ورودی y (خروجی مدل فضای حالت) و خروجی u (ورودی مدل فضای حالت) است. زیرسیستم مشاهدهگر-کنترلکننده در شکل زیر مشخص شده است.
برای محاسبه تابع تبدیل از y به u، از زیرسیستم مشاهدهگر-کنترلکننده تبدیل لاپلاس میگیریم:
وقتی y=x، یعنی حالت x از اندازهگیری y به دست میآید، ورودی کنترل فیدبک حالت کامل u=−Kx جایابی قطب مطلوب را انجام میدهد. اما، آیا با کنترل مبتنی بر تخمین u=−Kx به اهداف مشابهی خواهیم رسید؟
میتوانیم این معادلات را به فرم ماتریسی و به صورت یک مدل فضای حالت بنویسیم:
(x˙x˙)=(ALC−BKA−LC−BK)(xx).(7)
اما رابطه بین ماتریس معادله (۷) و A−BK چیست؟
اگر از تبدیل خطی برای تبدیل (xx) به (xe) استفاده کنیم، داریم:
(xx)↦(xe)=(xx−x)=T(II0−I)(xx).
چند نکته زیر حائز اهمیت است:
ماتریس تبدیل T وارونپذیر است، زیرا T یک ماتریس پایین مثلثی است و دترمینان آن برابر با ضرب درایههای قطر اصلیاش است. بنابراین، نمایش جدید، معادل با نمایش قدیمی است.
با توجه به معادله (۱۰)، اصل تفکیک بیان میکند که مقادیر ویژه حلقهبسته همان اجتماع قطبهای کنترلکننده، یعنی ریشههای det(sI−A+BK) و قطبهای مشاهدهگر، یعنی ریشههای det(sI−A+LC) هستند.
اگر قطبهای مشاهدهگر را چند برابر سریعتر از قطبهای کنترلکننده انتخاب کنیم، آنگاه قطبهای کنترلکننده غالب خواهند بود.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
سید سراج حمیدی دانشآموخته مهندسی برق است و به ریاضیات و زبان و ادبیات فارسی علاقه دارد. او آموزشهای مهندسی برق، ریاضیات و ادبیات مجله فرادرس را مینویسد.
۲ دیدگاه برای «تخمین حالت و طراحی مشاهده گر – از صفر تا صد»
ایمان
کاربرد های مشاهده گر لونبرگر چیه ؟ یعنی تخمین حالت برای شناسایی خطای سنسور یا چیز دیگه ای ؟ و با چه کنترل گرهایی سازگاره ؟ و بیشتر در چه موارد عملی به کار برده شده ؟
شما در حال مطالعه نسخه آفلاین یکی از مطالب «مجله فرادرس» هستید. لطفاً توجه داشته باشید، ممکن است برخی از قابلیتهای تعاملی مطالب، مانند امکان پاسخ به پرسشهای چهار گزینهای و مشاهده جواب صحیح آنها، نمایش نتیجه آزمونها، پاسخ تشریحی سوالات، پخش فایلهای صوتی و تصویری و غیره، در این نسخه در دسترس نباشند. برای دسترسی به نسخه آنلاین مطلب، استفاده از کلیه امکانات آن و داشتن تجربه کاربری بهتر اینجا کلیک کنید.
کاربرد های مشاهده گر لونبرگر چیه ؟ یعنی تخمین حالت برای شناسایی خطای سنسور یا چیز دیگه ای ؟ و با چه کنترل گرهایی سازگاره ؟ و بیشتر در چه موارد عملی به کار برده شده ؟
عالی بود ممنون .ولی مخ آدم هنگ میکنه