Control Final
Control Final
خرداد 1403
چكيده
چكيده
این پروژه به طراحی و کنترل یک سیستم پاندول دوت ایی معک وس چرخش ی
میپردازد .ابتدا معادالت غیرخطی سیستم با روش اویلر-الگران ژ اس تخراج و
سپس سیستم مدار ب از غ یرخطی در س یمولینک شبیهس ازی ش د .مع ادالت
سیستم ح ول نقط ه تع ادل ص فر خطیس ازی و ماتریسه ای فض ای ح الت
خطی به دست آمدند.
پای داری سیس تم خطی م دار ب از از جنبهه ای ،BIBOلیاپ انوف و حاش یهای
بررسی شد .کنترلپذیری و رویتپذیری سیستم ارزیابی و بهره فیدبک ح الت
جهت پایداری محاسبه گردی د .فی دبک ح الت ب ر سیس تم غ یرخطی اعم ال و
محدوده پایداری بررسی شد.
یک کنترلکننده ردیاب ح الت ب ه روش انتگرالگ یر ط راحی و عملک رد آن در
برابر تغییر پارامترها و اغتشاش ات ارزی ابی ش د .رویتگره ای مرتب ه کام ل و
کاهش مرتبهیافته طراحی و شبیهسازی ش دند .نت ایج شبیهس ازیها عملک رد
مطلوب کنترلکنندهها در پایداری و ردیابی سیگنالهای مرجع را نشان دادند.
واژههای کلیدی:
پاندول دوتایی معکوس چرخشی ،کن ترلر ،رویتگ ر،ش بیه س ازی س یمولینک ،
فیدبک حالت ،فیدبک حالت
ا
فهرست مطالب
صف
حه فهرست مطالب
چكيده.........................................................................أ
فصل اول مقدمه 1..........................................................
-1-1پاندول معکوس 2.........................................................................
-2-1پاندول دوتایی معکوس دوار 3........................................................
-3-1ضرورت و اهمیت موضوع4.....................................................................
-4-1استخراج معادالت دینامیکی 5..........................................................
-5-1شبیهسازی مدار باز 5....................................................................
-6-1طراحی کنترلکنندهها 5.................................................................
-7-1طراحی کنترلکننده ردیاب5....................................................................
-8-1طراحی رویتگرها 6.......................................................................
-9-1نتایج و کاربردها 6.........................................................................
فصل دوم خواسته های پروژه و نتایج7.................................
1-2معادالت دینامیکی غیر خطی 9..........................................................
-2-2شبیه سازی سیستم مدار باز غیرخطی 12..........................................
-3-2خطی سازی معادالت دینامیکی 15...................................................
-4-2پایداری 17.................................................................................
-5-2کنترل پذیری ،مشاهده پذیری و طراحی کنترلر ب ر اس اس جانش انی قطب
17 ها
-6-2کنترلر جانشین قطب ها روی سیستم غیر خطی20..............................
-7-2طراحی سیستم کنترل سروو – انتگرال گیر22...................................
-8-2تحلیل سیستم با معیار های متفاوت 25..............................................
-9-2رویتگر مرتبه کامل 31...................................................................
-10-2رویت گر کاهش مرتبه 35.............................................................
-11-2فیدبک حالت و رویت گر کاهش مرتبه یافته39..................................
فصل سوم جمعبندی و نتیجهگیری43...................................
جمعبندی 44............................................................................... -1-3
مفاهیم اصلی 44......................................................................... -2-3
چالشهای موجود 44.................................................................... -3-3
دستاوردهای پژوهشی 45............................................................... -4-3
کاربردهای عملی 45..................................................................... -5-3
فرصتهای پژوهشی آینده 46......................................................... -6-3
نتیجهگیری نهایی 46...................................................................... -7-3
منابع و مراجع47............................................................
48.....................................................................Abstract
پیوست50.....................................................................
ب
فهرست مطالب
ج
فهرست اشكال
صف
حه فهرست اشكال
شکل :1-1نمایی از پاندول معکوس 2.........................................................
شکل :2-1نمایی از یک پاندول معکوس 4.....................................................
شکل:1-2دیاگرام آزاد یک پاندول معکوس 8..................................................
شکل :2-2سیمولینک شبیه سازی سیستم غیر خطی13...................................
شکل :3-2پاسخ پله سیستم در زاویه بازو دوار 14.........................................
شکل :4-2پاسخ پله سیستم در زاویه لینک اول14..............................
شکل :5-2پاسخ پله سیستم در زاویه لینک دوم 15..............................
شکل :6-2سیمولینک شبیه سازی سیستم کنترلی با تئRRوری جانشRRانی
قطب ها با پلنت خطی شده 19...........................................................
شکل :7-2نمودار رگوالسRRیون درجRRات آزادی سیسRRتم خطی شRRده بRRر
حسب رادیان با استفاده از قطب های سریع 20..................................
شکل :8-2نمودار رگوالسRRیون درجRRات آزادی سیسRRتم خطی شRRده بRRر
حسب رادیان با استفاده از قطب های کند20......................................
شکل :9-2سیمولینک شبیه سازی سیستم کنترلی با تئRRوری جانشRRانی
قطب ها با پلنت غیر خطی 21............................................................
شکل :10-2نمودار رگوالسیون درجRRات آزادی سیسRRتم غRRیر خطی بRRر
حسب رادیان با استفاده از قطب های کند21......................................
شکل :11-2سیگنال ورودی مسیر مطلوب زاویه بRRازو دوار بRRر حسRRب
درجه در مدت 10ثانیه 22...................................................................
شکل :12-2سیمولینک سیستم دارای کنترلر سروو-انتگرالگیر23........
شکل :13-2تغییرات زاویه بازو دوار در جهت ردیRRابی سRRیگنال ورودی
زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو24............
شRRکل :14-2تغیRRیرات زوایRRای لینRRک هRRای اول و دوم در جهت ردیRRابی
سیگنال ورودی زاویه بازو دوار بر حسب رادیان با اسRRتفاده از کنRRترلر
سروو 24............................................................................................
شکل :15-2تغییرات زاویه بازو دوار در جهت ردیRRابی سRRیگنال ورودی
زاویه بازو دوار بر حسب رادیان با اسRRتفاده از کنRRترلر سRRروو و وجRRود
عدم قطعیت در مقادیر سیستم 26......................................................
شRRکل :16-2تغیRRیرات زوایRRای لینRRک هRRای اول و دوم در جهت ردیRRابی
سیگنال ورودی زاویه بازو دوار بر حسب رادیان با اسRRتفاده از کنRRترلر
سروو وجود عدم قطعیت در مقادیر سیستم 26...................................
شکل :17-2بلوک دیاگرام ورودی اغتشاش به سیستم آونRRگ معکRRوس
دوبل دوار 27......................................................................................
شRRکل :18-2سRRیمولینک شRRبیه سRRازی سیسRRتم غRRیر خطی در حضRRور
اغتشاش 28.......................................................................................
شکل :19-2تغییرات زاویه بازو دوار در جهت ردیRRابی سRRیگنال ورودی
زاویه بازو دوار بر حسب رادیان با اسRRتفاده از کنRRترلر سRRروو و وجRRود
اغتشاش از نوع نیروی ثابت 0.1نیوتن 29...........................................
د
فهرست اشكال
ه
فهرست اشكال
و
فهرست جداول
صف
حه فهرست جداول
ز
فهرست عالئم
فهرست عالئم
عالئم التين
معیار الگرانژ L
نیرو F
ح
فصل اول :مقدمه
فصل اول
مقدمه
1
پاندول معکوس -1-1
پاندول وارون یکی از مسائل مهم در دینامیک سیستمها و ریاضیات مهندس ی
است که در آن یک سیستم پاندول به شکلی خاص ط راحی میش ود و رفت ار
آن بررسی میشود .این مسئله به عن وان ی ک مث ال کالس یک از سیس تمهای
1
Inverted Pendulum
1
فصل اول :مقدمه
پویا و غیرخطی شناخته میشود و در حوزههای علمی مختل ف مانن د فیزی ک،
مهندسی ،ریاضیات ،و رباتیک مورد استفاده ق رار میگ یرد .پان دول معک وس
یک اختراع مک انیکی اس ت ک ه از پان دول س اده اله ام گرفت ه ش ده اس ت و
میتواند جلوههای ج البی از پویاشناس ی و مکانی ک را نش ان ده د .در واق ع،
پاندول معکوس یک پاندول ساده است که به جای نقطه معلق ش دن در ب اال،
از پایین آویزان میشود.
پاندول ساده ،یک سیم بلند با یک گوی سنگین در انتها دارد که از نقطه معل ق
شدن در باال آویزان میشود .اگر گوی ب ه ج انبی تک ان داده ش ود ،ب ه جل و و
عقب حرکت کرده و این حرکت به عنوان "جابجایی" نمایش داده میشود.
2
فصل اول :مقدمه
3
فصل اول :مقدمه
4
فصل اول :مقدمه
-6-1طراحی کنترلکنندهها
کنترلپ ذیری و رویتپ ذیری سیس تم از دیگ ر گامه ای مهم در ط راحی
کنترلکنندهها است .بهره فیدبک حالت جهت پایدارسازی سیستم حول نقط ه
تعادل صفر محاسبه و بر سیستم غیرخطی اعمال میشود .پاسخ حلقه بس ته
سیستم در شرایط مختلف شبیهس ازی ش ده و مح دوده پای داری آن بررس ی
میگردد.
یک کنترلکننده ردیاب حالت با استفاده از روش انتگرالگیر طراحی میش ود
ک ه ه دف آن تنظیم زاوی ه ب ازوی چرخش ی ب ر اس اس س یگنال مرج ع و
پایدارسازی پاندولها حول نقطه تعادل صفر اس ت .عملک رد این کنترلکنن ده
در برابر تغییر پارامترهای سیستم و اغتشاشات مختلف ارزیابی میشود.
5
فصل اول :مقدمه
-8-1طراحی رویتگرها
برای بهبود دقت و کارایی سیستم کنترل ،رویتگره ای مرتب ه کام ل و ک اهش
مرتبهیافته طراحی میشوند .این رویتگرها قادر به ارائه تخمینه ای دقیقی از
متغیره ای ح الت سیس تم هس تند و در سیس تم مداربس ته ب ه ک ار گرفت ه
میشوند .شبیهسازیهای انجام شده نشان میدهد که این رویتگرها میتوانند
در کمتر از زمان مشخصی به متغیرهای حالت واقعی همگرا شوند و عملک رد
سیستم را بهبود بخشند.
-9-1نتایج و کاربردها
نتایج این پژوهش نشاندهنده عملکرد مطلوب کنترلکنندههای ط راحی ش ده
در پایداری و ردیابی س یگنالهای مرج ع اس ت .این نت ایج میتوانن د در بهب ود
ط راحی سیس تمهای کن ترلی پیچی ده و پایدارس ازی رباته ای مش ابه م ورد
اس تفاده ق رار گیرن د .همچ نین ،این پ روژه میتوان د ب ه عن وان ی ک مرج ع
ارزشمند ب رای تحقیق ات آتی در زمین ه کن ترل سیس تمهای غ یرخطی و چن د
درجه آزادی باشد.
در مجموع ،این پروژه با هدف ارائ ه ی ک رویک رد ج امع ب رای کن ترل پان دول
دوت ایی معک وس چرخش ی ،تالش میکن د ت ا از طری ق مدلس ازی دقی ق،
شبیهسازیهای کاربردی و طراحی کنترلکنندههای پیشرفته ،به بهبود عملکرد
و پایداری این سیستم پیچیده دست یابد.
6
فصل دوم :خواسته های پروژه و نتایج
فصل دوم
خواسته های پروژه و نتایج
7
فصل دوم :خواسته های پروژه و نتایج
8
فصل دوم :خواسته های پروژه و نتایج
1
1-2معادالت دینامیکی غیر خطی
در این قسمت ،هدف این است که با استفاده از روش اویلر-الگران ژ ،مع ادالت
کلی غیر خطی سیستم به دست آیند .معادالت الگرانژ ب ا توج ه ب ه معادل ه ()1
نوشته میشوند.
) (
d ∂L
−
∂L ∂w
+
dt ∂ q̇ i ∂ qi ∂ q̇i
=Qi
(1
)
که در آن Lمعیار الگرانژ w ،اتالف انرژی q i ،درجات آزادی و Qiورودی سیستم
برای i=1 , … , nکه nهم ان درج ه آزادی سیس تم اس ت ،تعری ف میش ود .اتالف
∂w
انرژی از مدل ویسکوز در نظر گرفته شده است و ̇ ∂ qبراب ر b i q̇ iاس ت .ابت دا
i
نیاز است تا انرژی جنبشی هر یک از لینکهای ربات را بدس ت آی د .ب رای لین ک
1
Nonlinear dynamic equation
9
فصل دوم :خواسته های پروژه و نتایج
دوار ،انرژی جنبشی تنها از چ رخش لین ک ب ا س رعت زاوی ه ای ̇ qو ارتب اط ب ا
ممان اینرسی این لینک ،به دست میآید.
1 2 (2
̇K rot = J rot q
2 )
لین ک 1رب ات ،هم ح رکت زاوی ه ای خ ودش و هم لین ک دوار را دارا اس ت.
بنابراین ،این بار به جای به دست آوردن انرژی جنبشی فقط از طری ق ح رکت
زاویه ای ،از معیار کارتزین نیز استفاده میشود .حرکت مرک ز ج رم لین ک 1ب ا
توجه به قرار دادن روند حرکتی ربات در جهت های xو yفرضی ،به شکل زی ر
است:
X 1 =rq+l 1 sin α (3
Y 1=l 1 cos α )
برای لینک 2و نهایی ربات ،روند یکسانی به مانند لینک 1پی گرفته میشود .ب ر
این اساس:
X 2 =rq+ L1 sin α +l 2 sin γ (5
Y 2=L1 cos α +l 2 cos γ )
پس بنابراین ،کل انرژی جنبشی سیستم در مجموع به شکل زیر در میآید:
K=K rot + K 1 + K 2 (7
)
10
فصل دوم :خواسته های پروژه و نتایج
برای انرژی پتانسیل ،تنها گ رانش ت اثیر گ ذار اس ت و ب رای ه ر س ه لین ک در
مجموع از رابطه زیر بدست میآید.
P=P rot + P1 + P2 (8
) P=g m1 l 1 cos α + g m2 ( L1 cos α + L2 cos γ )
11
فصل دوم :خواسته های پروژه و نتایج
12
فصل دوم :خواسته های پروژه و نتایج
13
فصل دوم :خواسته های پروژه و نتایج
14
فصل دوم :خواسته های پروژه و نتایج
1
-3-2خطی سازی معادالت دینامیکی
خطی سازی سیستم حول نقطه تعادل صفر برای هر 3درجه آزادی انج ام می-
شود .پارامتر های ع ددی در قس مت قب ل جایگ ذاری ش ده ان د و ب رای خطی
س ازی مرتب ه اول بس ط تیل ور،sin γ ≈ γ ،sin α ≈ α ،sin q ≈ q ،q̇ 2=α̇ 2=γ̇ 2 ≈ 0 ،
cos q=cos α =cos γ ≈ 1قرار داده میشوند .بنابراین معادالت 14تا 16به شکل زیر
در میآیند.
(
̇q̈=0.8085 v−0.6138 α̈ −0.2966 γ̈ −4.5103 q 14
)
α̈ =−1.1266 q̈−0.4937 γ̈ −0.3038 α̇ + 51.2405 α (
15
)
γ̈ =−cos γ q̈−0.9096 α̈ −0.5581 γ̇ + 45.2093 γ (
16
)
ب رای فض ای ح الت [ x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ]= [ q , α , γ , q̇ , α̇ , γ̇ ] ،ق رار داده میش وند .پس
بنابراین
(
ẋ 4 =0.8085 v−0.6138 ẋ 5−0.2966 ẋ6 −4.5103 x 4 17
)
ẋ 5=−1.1266 ẋ 4 −0.4937 ẋ 6−0.3038 x 5 +51.2405 x 2 (
18
)
ẋ 6=− ẋ 4 −0.9096 ẋ 5−0.5581 x 6+ 45.2093 x 3 (
19
)
با جابجایی این معادالت ،در نهایت فرم فضای حالت به شکل زیر بدست میآید.
][
v (
ẋ= A x +B 0
20
0
1
Linearization of dynamic equations
15
فصل دوم :خواسته های پروژه و نتایج
[ ][ ]
x1 1 0 0 0 0 0
y= x 2 =C x= 0 1 0 0 0 0 x )
x3 0 0 1 0 0 0
[ ]
0 0 0 1 0 0
0 0 0 0 1 0 (
0 0 0 0 0 1
=A
0 −103.8 1.7 −14.63 0.61 −0.02
21
0 212.25 −42.46 16.81 −1.26 0.52 )
0 −89.26 82.14 −0.66 0.53 −1.01
][
0
[ ]
0 (
1 0 0 0 0 0
B= 0 ,C= 0 1 0 0 0 0 , D=0 22
2.62
0 0 1 0 0 0 )
−3.01
0.12
1
-4-2پایداری
برای تحلیل پایداری ب ا اس تفاده از روش اول لیاپ انوف ،ابت دا بای د قطب ه ای
سیس تم ب ه دس ت آین د .ب رای این ک ار پس از خطی س ازی سیس تم ،معادل ه
مشخصه سیستم ایجاد میشود.
(
)P=det (λI − A 23
)
و ریشه های این معادله ،قطب های سیس تم هس تند .در اینج ا ،ب ا اس تفاده از
متلب و فایل ،Stability.mقطب ه ای سیس تم پس از وارد ک ردن سیس تم ب ه
متلب با استفاده از دستور poleبه دست آمده اند و دیگر نیازی به محاسبه ب اال
نیست .قطب های سیستم برابرند با
λ 1=0 , λ2=−22.5 , λ 3=12.87 , λ 4=6.23 , λ5 =−10.15 , λ6=−3.35 (
1
Stability
16
فصل دوم :خواسته های پروژه و نتایج
24
)
از جایی که سیستم دارای قطب سمت راست مح ور موه ومی اس ت ،پس در
نتیجه میتوان گفت که نقطه تعادل ناپایدار است و بنابراین کل سیس تم ناپای دار
می شود .از جایی که سیستم یک قطب روی صفر دارد ،اگر حتی هم ه قطب ه ا
سمت چپ محور بودند ،سیستم نهایتا marginally stableب ود و نمیش د ح دس
درستی در مورد پایداری آن زد.
)
این ماتریس به راحتی در نرم افزار متلب با اس تفاده از دس تور ctrb
ایجاد میشود و در فایل controllability.mقرار گرفتهاست .با استفاده
از دستور rankکه ک ار چ ک ک ردن مس تقل ب ودن ه ر س تون از آن
ماتریس را انجام میدهد ،رنک سیستم برابر 6است و سیستم کن ترل
پذیر است.
برای مشاهده پذیری سیستم ،ماتریس مشاهده پذیری ایجاد میشود.
][
C
CA
2
CA (
=O 3
CA
4
26
CA
C A5
)
17
فصل دوم :خواسته های پروژه و نتایج
با استفاده از این روابط ،برای قطب ه ای س ریع ω n=10 rad / sو
ζ =0.74
میباشند .قطب ه ای غ الب را ب ا اس تفاده از رابط ه زی ر بدس ت می-
آوریم.
(
) p1 ,2=ωn (−ζ ± √ 1−ζ i 29
2
)
بنابراین ،قطب های غالب −8 ± 7.17 iقرار میگیرند و س ایر قطب ه ا را
از −9تا −12قرار میدهیم تا تاثیر کمیبگذارن د .بن ابراین ب ا اس تفاده از
دستور placeمتلب ،ضریب کنترلر برابر است با:
(
]k fast =[124.64 −435.92 1356.19 63.65 48.35 165.85 30
)
18
فصل دوم :خواسته های پروژه و نتایج
به همین شکل ،برای قطب های کند ،زمان نشست را 2.5ثانیه ق رار داده و از
روابط باال به دست می آید که ω n=2.14 rad /s ،و ζ =0.74میباشند .و ب ه همین
شکل ،قطب های غالب برابر −1.6 ± 1.43iقرار میگیرند و داریم:
(
k slow=[4.98 −343.39 428.6 0.38 −7.24 ]45.89 31
)
تمامی این محاسبات در PolePlacementController.mانجام شده است .پس از
اجرای این فایل ،ش بیه س ازی سیس تم ب ا پلنت خطی ش ده ،در س یمولینک ب ا
عنوان [Link]انجام شده است که در ش کل 6قاب ل مش اهده
است .با قرار دادن هر کدام از ضرایب کن ترلر ،مق ادیر دلخ واه بدس ت میآی د.
شکل 7سیستم سریع و شکل 8سیستم کند را نشان میدهد ک ه هم ه درج ات
آزادی ،از مقادیر اولیه کمی شروع به حرکت به سمت نقطه تع ادل میکنن د .ب ا
توجه به این نمودار ها ،به خوبی مشاهده میشود که سیستم ،پاسخ مطل وبی از
خود به نمایش گذاشته است.
شکل :6-2سیمولینک شبیه سازی سیستم کنترلی با تئوری جانشانی قطب ها با
19
فصل دوم :خواسته های پروژه و نتایج
شکل :7-2نمودار رگوالسیون درجات آزادی سیستم خطی شده بر حسب رادیان با
شکل :8-2نمودار رگوالسیون درجات آزادی سیستم خطی شده بر حسب رادیان با
20
فصل دوم :خواسته های پروژه و نتایج
شکل :9-2سیمولینک شبیه سازی سیستم کنترلی با تئوری جانشانی قطب ها با
سیستم غیر خطی را در یک ساب سیستم ذخیره کرده ایم و برای مثال ،کنترلر
کند را برای کنترل سیستم لحاظ کرده ایم .در ش کل 10مش اهده میش ود ک ه
برای شرایط اولیه تا 0.3رادیان ،سیستم پایدار است.
شکل :10-2نمودار رگوالسیون درجات آزادی سیستم غیر خطی بر حسب رادیان با
با افزایش مقادیر اولیه ،برای qتا ح دود α ،1ت ا ح دود 0.5و γت ا ح دود 0.3
رادیان ،سیستم به نقطه تعادل باز میگردد
21
فصل دوم :خواسته های پروژه و نتایج
شکل :11-2سیگنال ورودی مسیر مطلوب زاویه بازو دوار بر حسب درجه در مدت
10ثانیه
(
=y=C x
E
F ][
x → w=E x 32
)
در این روش ،خطای تعقیب را به صورت زیر تعریف میک نیم و انتگ رال خط ای
تعقیب را به عنوان متغیر حالت جدید انتخاب میکنیم.
(
ż=r −w=r−E x 33
)
بنابراین فضای حالت جدید به شکل زیر در میآید.
22
فصل دوم :خواسته های پروژه و نتایج
'
= ̇x
[ ẋż ]=[−EA 00][ xz ]+[ B0 ] u+[ 01] r= A x + B u+ B r
' '
(
34
] [ xz
' y= [ C 0 ] =C x )
23
فصل دوم :خواسته های پروژه و نتایج
شکل 13و ،14به ترتیب رفتار بازو دوار و دو درجه آزادی دیگر را نم ایش می-
دهد .مشاهده میشود که سیستم به خوبی مسیر را حرکت میکند ولی ب ا توج ه
به موتور و کنترل زوایای دیگر ،کمی جهش وارون نش ان میده د ولی مس یر را
ردیابی میکند.
شکل :13-2تغییرات زاویه بازو دوار در جهت ردیابی سیگنال ورودی زاویه بازو دوار بر
شکل : 14-2تغییرات زوایای لینک های اول و دوم در جهت ردیابی سیگنال ورودی زاویه بازو
24
فصل دوم :خواسته های پروژه و نتایج
25
فصل دوم :خواسته های پروژه و نتایج
شکل :15-2تغییرات زاویه بازو دوار در جهت ردیابی سیگنال ورودی زاویه بازو دوار بر
حسب رادیان با استفاده از کنترلر سروو و وجود عدم قطعیت در مقادیر سیستم
شکل : 16-2تغییرات زوایای لینک های اول و دوم در جهت ردیابی سیگنال ورودی زاویه بازو
دوار بر حسب رادیان با استفاده از کنترلر سروو وجود عدم قطعیت در مقادیر سیستم
26
فصل دوم :خواسته های پروژه و نتایج
شکل :17-2بلوک دیاگرام ورودی اغتشاش به سیستم آونگ معکوس دوبل دوار
این اتفاق ،باعث میشود به سمت راست معادالت 11تا ،13ی ک گش تاور ن یز،
اعمال شود.
(
1 ) + m2 ) ] q̈ +r ( m1 l 1 +m2 L1 ) cos α α̈ + m2 l 2 r γ̈ cos γ +brot q̇−r ( m1 l 1+ m2 L1 ) sin α α̇ −m2 l 2 r sin γ γ̇ =τ+ Fr cos ( γ + α
2 2
40
)
q̈+ ( J 1+ m1 l 21+ m2 L21 ) α̈ + m2 L1 l 2 cos ( α −γ ) γ̈ −b 1 α̇ +m2 L1 l 2 sin ( α −γ ) γ̇ 2 −g ( m1 l 1+ m2 L1 ) sin α =F L2+ F L1 cos γ (
41
)
m2 l 2 r cos γ q̈+m2 L1 l 2 cos ( α −γ ) α̈ + ( J 2+ m2 l 22) γ̈ + b2 γ̇ −m2 L1 l 2 sin ( α −γ ) α̇ 2−g m2 l 2 sin γ =F L2 (
42
)
بنابراین ،معادالت 14تا 16به شکل زیر میشوند.
2
) 85 v−0.6138 cos α α̈ −0.2966 cos γ γ̈ −4.5103 q̇+0.6138 sin α α̇ +0.2966 sin γ γ̇ ± 14.8474 F cos ( γ +α
2
(
43
27
فصل دوم :خواسته های پروژه و نتایج
)
2
) os α q̈−0.4937 cos ( α −γ ) γ̈ −0.3038 α̇ −0.4937 sin ( α −γ ) γ̇ +51.2405 sin α ± ( 1.5586 F +0.9264 Fcosγ (
44
)
2
γ̈ =−cos γ q̈−0.9096 cos ( α −γ ) α̈ −0.5581 γ̇ + 0.9096 sin ( α −γ ¿ ¿ α̇ + 45.2093 sin γ ± 1.5586 F (
45
)
شبیه سازی این سیستم داخل فایل [Link]انجام ش ده اس ت .ش کل
18سیستم تغییر یافته پلنت غیر خطی را نمایش میدهد و Fب ه عن وان ورودی
جدید به آن داده شده است.
برای شبیه سازی ،شکل 19پاسخ به نیروی ثابت 0.1نی وتن ،ش کل 20پاس خ
به نیروی سینوسی دامنه 0.1نیوتن و فرک انس 0.1را ب رای ب ازو دوار نش ان
میدهد .شکل های 21تا 22نیز به ت رتیب و ب ه همین ش کل ،درج ات آزادی را
نمایش میدهند .مشخص اس ت ک ه سیس تم ت ا این مق دار ن یرو ه ا ،ب ه ش کل
مناسبی اغتشاش را از بین میبرد.
28
فصل دوم :خواسته های پروژه و نتایج
شکل :19-2تغییرات زاویه بازو دوار در جهت ردیابی سیگنال ورودی زاویه بازو دوار بر
حسب رادیان با استفاده از کنترلر سروو و وجود اغتشاش از نوع نیروی ثابت 0.1نیوتن
نکته ای که در مورد نمودار درجات آزادی وجود دارد ،این است که سیستم پس
از مدتی با فرکانس همسو شده و در اطراف نقطه تعادل ب ا فرک انس ح رکت
میکند.
شکل :20-2تغییرات زاویه بازو دوار در جهت ردیابی سیگنال ورودی زاویه بازو دوار بر
حسب رادیان با استفاده از کنترلر سروو و وجود اغتشاش از نوع نیروی سینوسی
29
فصل دوم :خواسته های پروژه و نتایج
شکل :21-2تغییرات زوایای لینک 1و 2در جهت ردیابی سیگنال ورودی زاویه بازو دوار بر
حسب رادیان با استفاده از کنترلر سروو و وجود اغتشاش از نوع نیروی ثابت 0.1نیوتن
شکل :22-2تغییرات زوایای لینک 1و 2در جهت ردیابی سیگنال ورودی زاویه بازو دوار بر
حسب رادیان با استفاده از کنترلر سروو و وجود اغتشاش از نوع نیروی سینوسی
30
فصل دوم :خواسته های پروژه و نتایج
[ ]
8.74 2.03 0.65
1.75 14.54 −5.69 (
ke= 0.43 6.5 17.81
46
7 −110.08 −4.13
−9.64 294.1 −81.64 )
3.53 −27.33 145.38
31
فصل دوم :خواسته های پروژه و نتایج
شکل : 24-2سیمولینک سیستم کنترلی سروو برای پلنت غیر خطی با استفاده از مشاهده
گر کامل
نتایج شبیه سازی برای زوایای مختل ف در ادام ه قاب ل مش اهده هس تند .ش بیه
سازی به جای 60ثانیه در 10ثانیه انج ام ش ده ت ا تف اوت ه ا ب ه خ وبی قاب ل
مشاهده باشند .شکل 25تغییرات ،qشکل 26تغییرات ̇ ،qش کل 27تغی یرات
زوایای آونگ ها و شکل 28سرعت آن ها را نمایش میدهد .همه این نمودار ه ا
32
فصل دوم :خواسته های پروژه و نتایج
شامل خروجی سیستم و مشاهده گر هس تند و ردی ابی درس تی را نم ایش می-
دهند.
شکل :25-2تغییرات زاویه بازو دوار خروجی پلنت و تخمین زده شده در جهت ردیابی
سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و مشاهده گر
کامل
33
فصل دوم :خواسته های پروژه و نتایج
شکل :26-2تغییرات سرعت زاویه ای بازو دوار خروجی پلنت و تخمین زده شده در جهت
ردیابی سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و
مشاهده گر کامل
شکل :27-2تغییرات زوایای لینک های 1و 2خروجی پلنت و تخمین زده شده در جهت
ردیابی سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و
مشاهده گر کامل
34
فصل دوم :خواسته های پروژه و نتایج
شکل :28-2تغییرات سرعت زاویه ای لینک های 1و 2خروجی پلنت و تخمین زده شده در
جهت ردیابی سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و
مشاهده گر کامل
y=C
][
xa
xb
(
49
)
بر این اساس از روی ماتریس حالت داریم:
] [ ] [
0 0 0 1 0 0 (
A aa= 0 0 0 , A ab= 0 1 0
50
0 0 0 0 0 1
)
35
فصل دوم :خواسته های پروژه و نتایج
[ [ ] ]
0 −103.8 1.7 −14.6 0.6 −0.02
Aba= 0 211.7 −42.4 , Abb = 16.8 −1.25 0.52
0 −88.2 81.9 −0.58 0.52 −1.01
] [ ][
0 2.62 (
Ba= 0 , B b= −3.01
51
0 0.12
)
[ ]
−10.6 −2.97 −0.02 (55
k e= 20.35 2.74 0.52
−0.58 0.52 8 )
[ ] [ ]
−4 3.58 0 2.62 (
Aζ = −3.58 −4 0 , B ζ = −3.01 56
0 0 −9 0.12
)
36
فصل دوم :خواسته های پروژه و نتایج
[ ]
0 3.58 1.71
k ζ = 0 211.7 −42.4
0 −88.2 81.9
تم امی این محاس بات ،در فای ل متلب ObserverMin.mذخ یره ش ده ان د و این
فایل قبل از شبیه سازی بای د اج را ش ود .ش کل ،29مش اهده گ ر را نم ایش
میدهد که داخل فایل ،[Link]ب رای ش بیه س ازی ط راحی ش ده
است .شکل کلی مدار به مانند ش کل بخش قبلی اس ت .در ادام ه ،ش کل 30
تغییرات ،qشکل 31تغییرات ̇ ،qشکل 32تغییرات زوایای آونگ ها و شکل 33
سرعت آن ها را نمایش میدهد .همه این نمودار ه ا ش امل خ روجی سیس تم و
مشاهده گر هستند و ردیابی درستی را نمایش میدهند .یک نکت ه این اس ت ک ه
در تمام این ش بیه س ازی ه ا ،از قطب ه ای س ریع اس تفاده ک ردیم و کن ترلر
طوری است که به خوبی مسیر را در هر شرایطی دنب ال میکن د .اگ ر از قطب
های کند استفاده شود که در همه فایل ها قابل تغییر هستند ،به وض وح تف اوت
رفتاری نمایان میشود.
37
فصل دوم :خواسته های پروژه و نتایج
شکل :30-2تغییرات زاویه بازو دوار خروجی پلنت و تخمین زده شده در جهت ردیابی
سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و مشاهده گر
کمینه
شکل :31-2تغییرات سرعت زاویه ای بازو دوار خروجی پلنت و تخمین زده شده در جهت
ردیابی سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و
مشاهده گر کمینه
38
فصل دوم :خواسته های پروژه و نتایج
شکل :32-2تغییرات زوایای لینک های 1و 2خروجی پلنت و تخمین زده شده در جهت
ردیابی سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و
مشاهده گر کمینه
39
فصل دوم :خواسته های پروژه و نتایج
شکل :33-2تغییرات سرعت زاویه ای لینک های 1و 2خروجی پلنت و تخمین زده شده در
جهت ردیابی سیگنال ورودی زاویه بازو دوار بر حسب رادیان با استفاده از کنترلر سروو و
مشاهده گر کمینه
هستند .قرار است در این قسمت زوایای ورودی ،مق ادیر مطل وب ،q d=45 sin πt
) α d =5u (tو γ d =0درج ه را دنب ال کنن د .ب ر این اس اس ،ش کل س یمولینک این
قسمت (فایل )[Link]به مانند زیر میشود.
شکل :34-2سیمولینک سیستم غیر خطی با کنترلر فیدبک حالت و مشاهده گر کمینه
در این شکل ،نشان داده میشود که برای ردیابی بهتر ،از یک انتگرال گیر ب رای
دو متغیر اول با حدس و خطا استفاده کرده ایم و متغ یر س وم چ ون ب ه مانن د
رگوالتور نیاز داریم ،ورودی نگذاشته ایم .شکل 35 ،34و 36رفتار متغیر های
اول تا سوم را به ما نشان میدهند.
شکل : 35-2تغییرات زاویه بازو دوار در جهت ردیابی ورودی های مطلوب بر حسب رادیان با
استفاده از کنترلر فیدبک حالت همراه انتگرالگیر و مشاهده گر کمینه
41
فصل دوم :خواسته های پروژه و نتایج
شکل :36-2تغییرات زاویه لینک اول در جهت ردیابی ورودی های مطلوب بر حسب رادیان با
استفاده از کنترلر فیدبک حالت همراه انتگرالگیر و مشاهده گر کمینه
شکل : 37-2تغییرات زاویه لینک دوم در جهت ردیابی ورودی های مطلوب بر حسب رادیان با
استفاده از کنترلر فیدبک حالت همراه انتگرالگیر و مشاهده گر کمینه
مشاهده میشود که بازو دوار ،خطای قاب ل مالحظ ه ای دارد .از ط رفی متغ یر
دوم نمیتواند در حدود 5درج ه ث ابت بمان د و متغ یر س وم ح ول نقط ه تع ادل
نوسان میکند .از جایی که سیستم دارای ی ک ورودی اس ت ،انتظ ار نمیرود ک ه
42
فصل دوم :خواسته های پروژه و نتایج
بشود هر 3متغیر را در مسیر دلخواه کنترل کرد .این نکته زمانی مش خص می-
شود که اگر بخواهیم برای سیستم سروو طراحی کنیم ،سیس تم نه ایی کن ترل
پذیر نخواهد بود و در نهایت ،نمیشود برای آن کن ترلری درس ت ک رد .بن ابراین،
برای اینکه بتوان سیستم را ب ه خ وبی کن ترل ک رد ،دو راه قاب ل انج ام اس ت.
روش اول افزودن ورودی روی مفصل دوم و روش دیگر کنترل ورودی اول ب ه
مانند قسمت های قبل و در نظر گرفتن رگوالت ور ب رای پان دول ه ای معک وس
می باشد.
43
فصل چهارم :جمعبندی و نتیجهگیری
فصل سوم
جمعبندی و نتیجهگیری
44
فصل چهارم :جمعبندی و نتیجهگیری
-1-3جمعبندی
پاندول دوتایی معکوس چرخشی به عنوان یکی از سیستمهای مکانیکی پیچی ده
و جذاب ،نقشی کلیدی در پژوهشها و کاربردهای مهندس ی ایف ا ک رده اس ت.
این سیستم ،به دلیل ساختار چند درجه آزادی و رفتارهای غیرخطی آن ،ب ه ی ک
بستر مناسب ب رای آزم ایش و توس عه تئوریه ای کن ترل پیش رفته و دینامی ک
تب دیل ش ده اس ت .در این جمعبن دی ،نگ اهی ج امع ب ه مف اهیم ،چالشه ا،
دستاوردها و کاربردهای این سیس تم خ واهیم داش ت ت ا اهمیت و پتانس یلهای
پژوهشی و کاربردی آن را بهتر درک کنیم.
-2-3مفاهیم اصلی
پاندول دوتایی معکوس چرخشی از دو پان دول و ی ک ب ازوی چرخش ی تش کیل
شده است که هر یک از این اجزا میتوان د ب ه ط ور مس تقل ح رکت کن د .این
سیستم دارای چندین درجه آزادی است که منجر به رفتارهای دینامیکی پیچی ده
و غیرخطی میشود .معادالت حرکت این سیستم از طریق روش اویلر-الگران ژ
استخراج میشوند که شامل انرژیهای جنبشی و پتانسیل اجزا مختلف سیستم
است .این معادالت دیفرانسیل غیرخطی ،پایه و اساس تحلیله ای دین امیکی و
طراحی کنترلکنندهها را تشکیل میدهند.
-3-3چالشهای موجود
پاندول دوتایی معکوس چرخشی به دلیل ناپایداری ذاتی و رفتاره ای غ یرخطی
خود ،با چالشهای متعددی در حوزه کنترل و پایدارسازی مواجه است .از جمله
این چالشها میتوان به موارد زیر اشاره کرد:
ناپایداری ذاتی :این سیس تم ب ه ط ور ط بیعی ناپای دار اس ت و حف ظ .1
تعادل آن نیازمند طراحی کنترلکنندههای دقیق و پیچیده است.
رفتار غیرخطی :معادالت حرکت سیستم غیرخطی هس تند و این ام ر .2
تحلیل و طراحی کنترلکنندهها را دشوار میسازد.
اغتشاشات و عRRدم قطعیتهRRا :وج ود اغتشاش ات محیطی و ع دم .3
قطعیت در پارامترهای سیستم ،عملکرد کنترلکنندهها را تحت تأثیر قرار
میدهد و نیازمند روشهای مقاوم و تطبیقی است.
45
فصل چهارم :جمعبندی و نتیجهگیری
-4-3دستاوردهای پژوهشی
پژوهشهای انجام شده بر روی پاندول دوتایی معکوس چرخش ی ب ه توس عه و
بهبود روشهای مختلف کنترل کم ک کردهان د .ب رخی از دس تاوردهای مهم این
پژوهشها عبارتند از:
توسRRRعه روشهRRRای کنRRRترل خطی و غRRRیرخطی :اس تفاده از .1
تئوریهای کنترل پیشرفته مانن د کن ترل فی دبک ح الت ،کن ترل لغزش ی،
کنترل تطبیقی و کنترل فازی برای پایدارسازی و بهبود عملکرد سیستم.
شبیهسازیهای عددی :انجام شبیهسازیهای دقی ق و گس ترده ب رای .2
بررس ی رفت ار دین امیکی سیس تم و ارزی ابی عملک رد کنترلکنن دهها در
شرایط مختلف.
طراحی رویتگرها :توس عه رویتگره ای مرتب ه کام ل و ک اهش مرتب ه .3
یافت ه ب رای تخمین دقی ق متغیره ای ح الت سیس تم و بهب ود عملک رد
کنترلکنندهها.
-5-3کاربردهای عملی
پاندول دوت ایی معک وس چرخش ی دارای کاربرده ای گس تردهای در زمینهه ای
مختلف مهندسی است .برخی از مهمترین کاربردهای این سیستم عبارتند از:
آمRRوزش و پRRژوهش :این سیس تم ب ه عن وان ی ک اب زار آموزش ی و .1
پژوهشی مهم در دورههای مهندسی کنترل و دینامیک استفاده میشود و
به دانشجویان و پژوهش گران کم ک میکن د ت ا مف اهیم اساس ی کن ترل
غیرخطی و پایداری را به خوبی درک کنند.
رباتیک :پاندول دوتایی معکوس چرخشی به عنوان یک م دل پای ه ب رای .2
طراحی و کنترل رباتهایی که دارای بازوهای چن د درج ه آزادی هس تند،
استفاده میشود .این سیستم میتواند به بهبود عملکرد رباتها در انجام
وظایف پیچیده کمک کند.
هوافضا :در صنایع هوافضا ،کنترل و پایدارسازی سیستمهایی که دارای .3
بخشهای متحرک و چند درجه آزادی هستند ،از اهمیت ویژهای برخوردار
است .پاندول دوتایی معکوس چرخشی میتواند به عنوان یک م دل پای ه
برای توس عه و آزم ایش روشه ای کن ترل این ن وع سیس تمها اس تفاده
شود.
46
فصل چهارم :جمعبندی و نتیجهگیری
خودروسRRازی :در ص نعت خودروس ازی ،سیس تمهای تعلی ق و کن ترل .4
پایداری خودروها نیازمند روشهای کنترل پیشرفته هستند .پاندول دوتایی
معکوس چرخشی میتواند به عنوان یک مدل آزمایشی برای توس عه این
سیستمها استفاده شود.
-7-3نتیجهگیری نهایی
پاندول دوت ایی معک وس چرخش ی ب ه عن وان ی ک سیس تم مک انیکی پیچی ده و
چالشبرانگیز ،نقش مهمی در توسعه و آزم ایش روشه ای کن ترل پیش رفته و
تئوریهای پایداری ایفا کرده است .این سیستم ،با ارائ ه مس ائل و چالشه ای
متنوع ،به پژوهشگران و مهندسان کمک میکند تا راهحلهای ن وآورانهای ب رای
کنترل و پایدارسازی سیستمهای غیرخطی و ناپای دار ارائ ه دهن د .پژوهشه ا و
دستاوردهای انجام شده در این زمینه نش اندهنده پتانس یل ب االی این سیس تم
برای توسعه روشهای کنترل مقاوم ،تطبیقی و پیشرفته است.
47
منابع و مراجع
Quanser Inc. Rotary Pendulum User Manual, 2012. [1]
Quanser Inc. SRV02 User Manual, 2012. [2]
Hany F. Mokbel Amr A. Roshdy Yu zheng Lin & Tongyu Wang. (2012). [3]
Stabilization of real inverted pendulum using pole separation factor.
Narinder Singh & Sandeep Kumar Yadav. (2012). Comparison of LQR and [4]
PD controller for stabilizing double inverted pendulum system.
Dimple J. Vora & Ms. Nabanita Basu. (2016). Modelling and simulation of [5]
inverted pendulum using internal model control.
F. Faizan, F. Farid, M. Rehan, and et al., “Implementation of discrete PID on [6]
inverted pendulum” Second international conference on education
technology and computer (ICETC), vol.1(1), pp. 48- 51,2010.
Baili Zhang and Jiang Guo Wang, “The analysis and simulation of first order [7]
inverted pendulum control system based on LQR” Third int. symposium on
information processing (ISIP), pp. 447-449, 2010.
Hu Lingyan, Liu Guoping, Liu Xiaoping, and et al., “The computer [8]
simulation and real time stabilization control for the inverted pendulum
system based on LQR” Fifth Int. conference on natural computation ICNC,
vol. 6, pp. 438-442, 2009.
Yanmei Liu, Zhen Chen, Dingyu Xue, and et al., “Real-time controlling of [9]
inverted pendulum by fuzzy logic” IEEE int. conference on automation and
logistics (ICAL), pp. 1180-1183, 2009
Chih Hui Chiu and Chun Chieh Chang “Wheeled inverted pendulum control [10]
based on model-free fuzzy control strategy” Proceeding of SICE annual
conference, pp. 1604-1609, 2010.
Abstract
Dynamic Model Analysis of the Rotary Double Inverted Pendulum
This section analyzes the dynamic model of the rotary double inverted
pendulum. The equations of motion for the system are derived using the
Euler-Lagrange method, and the dynamic behavior of the rotary arm and the
two attached pendulums is examined. System parameters, forces, and initial
conditions are meticulously analyzed to provide an accurate model of the
system's behavior. This modeling forms the basis for designing advanced
controllers and improving system stability.
June 2024
پیوست
.در این بخش کدهای متلب هر قسمت به ترتیب آورده شده است
)2بخش
%% Run the Simulink File First!
Q = out.Q;
ALPHA = [Link];
GAMMA = [Link];
V = out.V;
figure
plot(Q,'linewidth',2)
grid on
hold on
plot(V,'-.','linewidth',2)
xlabel('time (s)','Interpreter','latex','FontSize',15)
ylabel('q (rad)','Interpreter','latex','FontSize',15)
figure
plot(ALPHA,'linewidth',2)
grid on
hold on
plot(V,'-.','linewidth',2)
xlabel('time (s)','Interpreter','latex','FontSize',15)
ylabel('$\alpha$ (rad)','Interpreter','latex','FontSize',15)
figure
plot(GAMMA,'linewidth',2)
grid on
hold on
plot(V,'-.','linewidth',2)
xlabel('time (s)','Interpreter','latex','FontSize',15)
ylabel('$\gamma$ (rad)','Interpreter','latex','FontSize',15)
3)بخش
clc
clear
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;26.2209;-30.0506;1.0343];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
D = 0;
sys = ss(A,B,C,D);
pole(sys)
5 )بخش
کنترل پذیری
clc
clear
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;26.2209;-30.0506;1.0343];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
D = 0;
Cc = ctrb(A,B)
rank(Cc)
رویت پذیری
clc
clear
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;26.2209;-30.0506;1.0343];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
D = 0;
O = obsv(A,C)
rank(O)
محل قرار گیری قطب ها
clc
clear
%% State Space
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;2.62;-3.01;0.12];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
ts_slow = 2.5;
ts_fast = 0.5;
% 3% Maximum Overshoot:
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
% Slow Mode:
ts = ts_slow;
wn = 4/(ts*zeta);
d_poles_slow = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_slow = [d_poles_slow -9 -10 -11 -12];
% Fast Mode:
ts = ts_fast;
wn = 4/(ts*zeta);
d_poles_fast = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_fast = [d_poles_fast -9 -10 -11 -12];
k_slow = place(A,B,poles_slow);
k_fast = place(A,B,poles_fast);
7 )بخش
clc
clear
%% State Space
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;2.62;-3.01;0.12];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
ts_slow = 2.5;
ts_fast = 0.5;
% 3% Maximum Overshoot:
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
% Slow Mode:
ts = ts_slow;
wn = 4/(ts*zeta);
d_poles_slow = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_slow = [d_poles_slow -9 -10 -11 -12];
% Fast Mode:
ts = ts_fast;
wn = 4/(ts*zeta);
d_poles_fast = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_fast = [d_poles_fast -9 -10 -11 -12];
%% StateSpace Change
E = C(1,:);
Abar = [A zeros(6,1);-E 0];
Bbar = [B;0];
kbar = place(Abar,Bbar,[poles_fast -13]);
k2 = -kbar(end);
k1 = kbar(1:end-1);
9)بخش
clc
clear
%% State Space
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;2.62;-3.01;0.12];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
%% Observer states
Ao = A';
Bo = C';
%% Desired Poles
ts_est = 0.5;
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
ts = ts_est;
wn = 4/(ts*zeta);
d_poles_est = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_est = [d_poles_est -9 -10 -11 -12];
%% Observer Gain
ke = place(Ao,Bo,poles_est);
ke = ke';
ts_slow = 2.5;
ts_fast = 0.5;
% 3% Maximum Overshoot:
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
% Slow Mode:
ts = ts_slow;
wn = 4/(ts*zeta);
d_poles_slow = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_slow = [d_poles_slow -9 -10 -11 -12];
% Fast Mode:
ts = ts_fast;
wn = 4/(ts*zeta);
d_poles_fast = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_fast = [d_poles_fast -9 -10 -11 -12];
%% StateSpace Change
E = C(1,:);
Abar = [A zeros(6,1);-E 0];
Bbar = [B;0];
kbar = place(Abar,Bbar,[poles_fast -13]);
k2 = -kbar(end);
k1 = kbar(1:end-1);
10 )بخش
clc
clear
%% State Space
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;2.62;-3.01;0.12];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
%% Minimum-Observer states
A_aa = A(1:3,1:3);
A_ab = A(1:3,4:6);
A_ba = A(4:6,1:3);
A_bb = A(4:6,4:6);
B_a = B(1:3,1);
B_b = B(4:6,1);
Ao = A_bb';
Bo = A_ab';
%% Desired Poles
ts_est = 1;
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
ts = ts_est;
wn = 4/(ts*zeta);
d_poles_est = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_est = [d_poles_est -9];
%% Observer Gain
ke = place(Ao,Bo,poles_est);
ke = ke';
%% Error States
Azeta = A_bb-ke*A_ab;
Bzeta = B_b-ke*B_a;
Kzeta = A_ba-ke*A_aa;
ts_slow = 2.5;
ts_fast = 0.5;
% 3% Maximum Overshoot:
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
% Slow Mode:
ts = ts_slow;
wn = 4/(ts*zeta);
d_poles_slow = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_slow = [d_poles_slow -9 -10 -11 -12];
% Fast Mode:
ts = ts_fast;
wn = 4/(ts*zeta);
d_poles_fast = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_fast = [d_poles_fast -9 -10 -11 -12];
%% StateSpace Change
E = C(1,:);
Abar = [A zeros(6,1);-E 0];
Bbar = [B;0];
kbar = place(Abar,Bbar,[poles_slow -13]);
k2 = -kbar(end);
k1 = kbar(1:end-1);
11)بخش
clc
clear
%% State Space
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
0 -103.7924 1.7156 -14.6318 0.6154 -0.0212;
0 211.7365 -42.3798 16.7688 -1.2554 0.5232;
0 -88.2477 81.9312 -0.5772 0.5232 -1.0115];
B = [0;0;0;2.62;-3.01;0.12];
C = [1 0 0 0 0 0;0 1 0 0 0 0;0 0 1 0 0 0];
%% Minimum-Observer states
A_aa = A(1:3,1:3);
A_ab = A(1:3,4:6);
A_ba = A(4:6,1:3);
A_bb = A(4:6,4:6);
B_a = B(1:3,1);
B_b = B(4:6,1);
Ao = A_bb';
Bo = A_ab';
%% Desired Poles
ts_est = 1;
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
ts = ts_est;
wn = 4/(ts*zeta);
d_poles_est = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles_est = [d_poles_est -9];
%% Observer Gain
ke = place(Ao,Bo,poles_est);
ke = ke';
%% Error States
Azeta = A_bb-ke*A_ab;
Bzeta = B_b-ke*B_a;
Kzeta = A_ba-ke*A_aa;
ts = 1.5;
M_o = 0.03;
syms zeta
eqn = M_o == exp(-zeta*pi/sqrt(1-zeta^2));
zeta = double(solve(eqn,zeta));
zeta = zeta(zeta>0);
wn = 4/(ts*zeta);
d_poles = wn*[-zeta+sqrt(1-zeta^2)*1i -zeta-sqrt(1-zeta^2)*1i];
poles = [d_poles -9 -10 -11 -12];
k = place(A,B,poles)
%% StateSpace Change
E = C(1,:);
Abar = [A zeros(6,1);-E 0];
Bbar = [B;0];
kbar = place(Abar,Bbar,[poles_slow -13]);
k2 = -kbar(end);
k1 = kbar(1:end-1);