610 likes | 803 Vues
کاربرد منطق فازی در ربات های سيار. ارائه: وحيد نظری استاد: دکتر شيری قيداری زمستان 85. فهرست مطالب. تاريخچه مقدمه ساختار کنترل کننده فازی کنترل موقعيت ربات سيار با استفاده از منطق فازی استراتژی اجتناب از برخورد با موانع با استفاده از منطق فازی ناوبری واکنشی فازی رديابی مسير حرکت
E N D
کاربرد منطق فازی در ربات های سيار ارائه:وحيد نظریاستاد: دکتر شيری قيداریزمستان 85
فهرست مطالب تاريخچه مقدمه ساختار کنترل کننده فازی کنترل موقعيت ربات سيار با استفاده از منطق فازی استراتژی اجتناب از برخورد با موانع با استفاده از منطق فازی ناوبری واکنشی فازی رديابی مسير حرکت کاربرد الگوريتم ژنتيک در کنترل کننده های فازی کاربرد کنترل کننده فازی ژنتيک در ربات سيار منابع
تاريخچه 1965: آغاز تئوری فازی-لطفی زاده 1975: تولد کنترل کننده های فازی-ممدانی و آسيليان 1978: کنترل فازی کوره سيمان – هولمبلاد و اوسترگارد تئوری و کاربردهای فازی 1980: کنترل سيستم تصفيه آب فوجی - سوگنو 1983: اولين ربات فازی - سوگنو 1987: کنترل قطار زير زمينی سنداي – ياشانوبو و مياموتو
مقدمه وقتی سيستم فازی به عنوان کنترل کننده مورد استفاده قرار مي گيرد، به آن کنترل کننده فازی اطلاق مي شود. مسئله کنترل را مي توان با توجه به دياگرام جعبه ای زير تعريف کرد: اغتشاش ورودی مطلوب خروجی + کنترل کننده فازی فرايند تحت کنترل _ نويز
مقدمه مسئله کنترل عبارت است از طراحی کنترل کننده فازی به طوری که اهداف کنترل به صورت مطلوب برقرار باشد. اين اهداف عبارت است از: 1- خوب بودن تعقيب 2- کم بودن اثر نويز و اغتشاش در خروجی 3- کم بودن حساسيت خروجی به تغييرات فرايند تحت کنترل 4- پايدار بودن سيستم تحت شرايط مختلف
مقدمه روش سعی و خطا روش های طراحی کنترل کننده های فازی روش تئوريک کنترل فازی سيستم های خطی کنترل فازی سيستم های غيرخطی کنترل فازی مدل سيستم فازی
چرا کنترل فازی؟ • عدم نياز به مقادير دقيق پارامترهای سيستم تحت کنترل • سهولت در پياده سازی کنترل کننده • کاهش حجم محاسبات • تسريع در زمان پاسخ • انعطاف پذيری کنترل کننده • طبيعت مقاوم کنترل کننده فازی • کاربردهای صنعتی و آزمايشگاهی موفقيت آميز
ساختار کنترل کننده فازی اجزای تشکيل دهنده کنترل کننده فازی به صورت زير است:1- فازی ساز 2- نافازی ساز3- پايگاه قواعد و پايگاه داده ها4- واحد استنتاج
ساختار کنترل کننده فازی فازی ساز: نگاشتی از يک نقطه به يک مجموعه فازی معيار های طراحی فازی ساز: 1- مجموعه فازی با در نقطه مورد نظر مقدار تعلق بزرگی داشته باشد 2- اگر ورودی سيستم به وسيله نويز خراب شود، فازی ساز بايد بتواند تاثير نويز را کاهش داده و يا حذف کند. 3- در ساده کردن محاسبات مربوط موتور استنتاج نقش داشته باشد. انواع فازی سازها: فازی ساز منفرد، فازی ساز مثلثی، فازی ساز گوسين، فازی ساز ذوزنقه ای
ساختار کنترل کننده فازی نافازی ساز: نگاشتی از مجموعه فازی به يک نقطه قطعی. وظيعه نافازی ساز مشخص کردن نقطه ای است که بهترين نماينده مجموعه فازی خروجی باشد. معيار های طراحی نافازی ساز: 1- نقطه قطعی يا بايد با درجه بالا به مجموعه فازی تعلق داشته باشد ويا در وسط مجموعه فازی قرار داشته باشد. 2- تغييرات کوچک در مجموعه فازی خروجی نبايستی به تغييرات بزرگی در نقطه قطعی منجر شود.. 3- در ساده کردن محاسبات نقش داشته باشد. انواع نافازی سازها: نافازی سازميانگين مراکز، نافازی ساز مرکز ثقل، نافازی ساز ماکزيمم
ساختار کنترل کننده فازی پايگاه قواعد فازی: پايگاه قواعد فازی از مجموعه قواعد اگر-آنگاه فازی تشکيل شده است. اين بخش قلب سيستم فازی محسوب مي شود. پايگاه قواعد فازی شامل قواعدی به صورت زير است: IF x1 is A1 AND …. xn is Bn THEN y is CiRule i: پايگاه داده ها: شامل اطلاعاتی درباره شکل توابع عضويت سيستم های فازی مورد استفاده در قواعد فازی و دامنه متغيرهای فازی است
ساختار کنترل کننده فازی موتور استنتاج فازی: موتور استنتاج قواعد موجود در پايگاه قواعد را با هم ترکيب مي کند. از آنجا که پايگاه قواعد فازی شامل قواعد اگر و آنگاه زيادی است، بايستی بتوان از روی مجموعه قواعد، يک مجموعه فازی را نتيجه گيری کرد. برای اين منظور از دو روش استفاده ميشود. 1- استنتاج مبتنی بر ترکيب قواعد 2- استنتاج مبتنی بر قواعد جداگانه با توجه به تعدد استلزام ها، عملگرهای مختلف برای t-norm وs-norm و دو نوع استنتاج فوق، انتخاب های متعددی برای موتور استنتاج فازی وجود دارد. نمونه ای از اين موتور های استنتاج عبارت است: موتور استنتاج حاصل ضرب، موتور استنتاج مينيمم، موتور استنتاج لوکاشيويکز، موتور استنتاج زاده، موتور استنتاج دنيس رشز
روش های فازی مورد استفاده در ربات های سيار 1- کنترل موقعيت ربات برای رسيدن به هدف 2- استراتژی اجتناب از برخورد با موانع 3- رديابی مسير حرکت 4- ناوبری 5- طرحريزی مسير حرکت 6- ارائه مدل فازی ربات سيار 7- دنبال کردن پويای مسير حرکت 8- مسئله تعقيب ديوار 9- کنترل مدل مرجع متغيرهای ربات سيار
کنترل موقعيت ابتدا مسئله کنترل موقعيت در يک محيط بدون مانع بررسی مي شود. هدف از کنترل اين است که ربات از نقطه مبدا به نقطه مقصد برسد. در اين حالت ورودی های کنترل فازی موقعيت و جهت ربات نسبت به نقطه هدف است. خروجی سيستم فازی زاويه فرمانش ربات است.
کنترل موقعيت فازی سازی: توابع عضويت متغير های ورودی به صورت مثلثی در نظر گرفته شده است.مقادير زبانی در نظر گرفته شده عبارت است: پايگاه قواعد: پايگاه دانش سيستم فازی شامل قواعدی به صورت زير است.
کنترل موقعيت مکانيزم استنتاج فازی:عملگر min برایt-norm و عملگرmax برایs-norm استفاده شده است. قواعد با استفاده از توصيفات شبه انسانی رفتار حرکت ربات تعريف می شوند. نافازی سازی: در اين قسمت از روش نافازی سازی ارتفاع استفاده شده است.اين روش ساده و خيلی سريع است. اين روش از خروجی های مقياس شده کنترل کننده استفاده کرده و مجموع وزن دار مقادير بيشينه توابع عضويت خروجی است. معادله نافازی سازی به صورت زير است: که تکيه گاه تابع عضويت خروجی فاکتور مقياس کننده
اجتناب از برخورد با موانع چند نقطه ای نتايج شبيه سازی برای يک ربات دو چرخ رانش تفاضلی به صورت های زير است. کنترل ناوبری در يک محيط بدون مانع با شروع از دو نقطه مختلف
اجتناب از برخورد با موانع برای بررسی مساله اجتناب از برخورد با موانع از ايده روش تصوير فازی که برخاسته از رفتار کنترلی عکس العملی است استفاده است. ربات هنگام روبرويي با مانع به چپ يا راست تغيير جهت مي دهد. برای اينکه ربات بتواند از نقطه شروع به نقطه پايان بدون برخود با مانع برسد، لازم است که در هر لحظه داده های ورودی زير را از محيط دريافت کند: فاصله ربات تا هدف زاويه بين ربات تا هدف فاصله ربات تا مانع زاويه بين ربات تا مانع قواعدی که برای اين منظور استفاده مي شود به صورت زير است:
اجتناب از برخورد با موانع برای رسيدن به هدف کنترل لازم است يک کنترل کننده فازی برای رسيدن به مانع با موتور استنتاج به دست آمده درروش کنترل موقعيت در نظر گرفته شود. اين کنترل کننده بايستی عملی توليد کند که هنگام روبرو شدن با مانع از آن دور شود. اين عمل مي تواند ايجاد منفی زاويه فرمانش مورد نياز برای هدايت ربات به سوی مانع باشد. برای جلوگيری از واگرا شدن موقعيت ربات از نقطه هدف، زاويه فرمانش نهايي ربات ترکيبی از دو عمل زير است: نخست کنترل کننده فازی، زاويه فرمانش مورد نياز برای هدايت ربات به سوی هدف را محاسبه مي کند. سپس کنترل کننده فازی، منفی زاويه فرمانش مورد نياز برای هدايت ربات به سوی مانع را محاسبه مي کند. يا
اجتناب از برخورد با موانع مدول اجتناب از برخورد با مانع هنگامی فعال ميشود که دو شرط زير ارضا شوند: که فاصله تاثير و جهت ناحيه تاثير است. اين دو کميت حدود ناحيه تشخيص را که به شکل مخروط است، تعيين مي کند. هر شی که ناحيه مخروطی صادر شده از ربات قرار داشته باشد می تواند به وسيله سنسورهای نصب شده در جلوی ربات تشخيص داده شود. کنترل کننده فازی مانع هنگامی فعال مي شود که ربات به ناحيه تشخيص وارد شود. هنگامی که خطر برخورد با مانع وجود نداشته باشد، کنترل کننده مانع غير فعال شده و ربات تنها تحت تاثير کنترل کننده هدف به سمت هدف حرکت مي کند. برای بدست آوردن زاويه فرمانش مناسب از نافازی سازی ارتفاع استفاده شده است.
اجتناب از برخورد با موانع فرض مي کنيم که درربات در يک لحظه 8 قاعده متوالی به صورت همزمان آتش شوند.
اجتناب از برخورد با موانع در توابع عضويت خروجی به دست آمده که مربوط به کنترل کننده مانع است، برای اينکه برخورد با مانع رخ ندهد، تصوير توابع عضويت نسبت به محور عمودی به دست مي آيد.
اجتناب از برخورد با موانع در نهايت توابع عضويت خروجی به صورت زير محاسبه مي شوند. در صورتي که از نافازی سازی ارتفاع برای تعيين زاويه فرمانش نهايي ربات استفاده کنيم، با توجه به توابع عضويت به دست آمده، خروجی کنترل کننده فازی زاويه ای است که باعث انحراف ربات به سمت راست مي شود.
اجتناب از برخورد با موانع چند نقطه ای در اين قسمت يک سيستم درک برای تحليل عميق موقعيت موانع در يک محيط ناشناخته بررسی مي شود. برای اين منظور از چندين سنسور در اطراف ربات استفاده می شود. بجای استفاده از روش مبتنی بر رفتار با سطوح مختلف رفتاری، از يک روش کنترل فازی مبتنی بر رفتار هماهنگ استفاده مي شود. نکته جالب در اين روش استفاده از تنها يک پايگاه قواعد برای هر دو منظور جستجوی هدف و اجتناب از برخورد با مانع است. به ازای هر سنسور به کار رفته در ربات، يک زاويه فرمانش برای مانع به دست مي آيد. زاويه فرمانش نهايي ربات به صورت زير محاسبه مي شود.
اجتناب از برخورد با موانع چند نقطه ای برای وزن دار کردن انديس اهميت مانع از پايگاه قواعد فازی به صورت زير که رابطه بين فاصله، جهت و انديس را تعريف مي کند، استفاده مي شود. برای به دست آوردن انديس اهميت هدف فاکتور وزن دار به دست آمده در مرحله قبل را فازی مي کنيم. برای اين منظور از 4 مجموعه فازی مطابق شکل فوق استفاده مي کنيم.
اجتناب از برخورد با موانع چند نقطه ای سپس پايگاه قواعد بين سنسور های مجاور را تشکيل مي دهيم. در اين قواعد با توجه به انديس اهميت بين دو سنسور مجاور، خطر برخود با مانع اندازه گيری مي شود.
اجتناب از برخورد با موانع چند نقطه ای انديس اهميت هدف تابعی از 48 متغير فازی است. با استفاده از نافازی سازی ارتفاع، مقدار عددی انديس اهميت هدف به دست مي آيد.
اجتناب از برخورد با موانع چند نقطه ای کنترل ناوبری در يک محيط ناشناخته با وجود مانع
اجتناب از برخورد با موانع چند نقطه ای حرکت کنترل شده ربات برای رسيدن به نقطه هدف در مبدا با شروع از دو نقطه مختلف
ناوبری واکنشی فازی در اين بخش يک کنترل کننده واکنشی فازی برای حرکت ربات در يک محيط ناشناخته با وجود موانع بررسی مي شود. ربات مورد استفاده يک ربات دو چرخ تفاضلی است. هنگامی ربات به صورت هدف در حال حرکت است و سنسورها مانعی را در سر راه خود تشخيص مي دهد، يک استراتژی از برخورد ربات با مانع جلوگيری مي کند. استراتژی واکنشی بر اساس اطلاعات به دست آمده از سنسورها طرحريزی شده است و تنها تعامل های نسبی بين ربات و محيط ارزيابی مي شود. نکته مهم در اين روش عدم نياز به مدل ساختاری محيط حرکتی ربات است. همچنين کنترل کننده واکنشی فازی از نظر زمان کوتاه واکنش و تصميم گيری بالا در فرايند اجتناب از برخورد با موانع قدرتمند عمل مي کند.
ناوبری واکنشی فازی فرض کنيد ربات در يک محيط ناشناخته قرار دارد. در غياب مانع، ربات به سوی هدف حرکت مي کند. با حضور مانع، ربات بر اساس اطلاعات به دست آمده از سنسورها در خصوص مانع و موقعيت نسبی تا هدف، واکنش نشان مي دهد. در هنگام حرکت به سوی هدف و با استراتژی اجتناب از برخورد با مانع، ربات جهت و سرعت خود را تغيير مي دهد کنترل کننده فازی مورد استفاده برای هدايت ربات دارای 4 ورودی و يک خروجی است. ورودی ها در شکل مقابل نشان داده است. خروجی کنترلر اختلاف سرعت زاويه ای بين چرخ های سمت راست و چپ ربات است. .
ناوبری واکنشی فازی توابع عضويت به کار رفته برای متغيرهای ورودی و خروجی، گوسين است.
ناوبری واکنشی فازی دياگرام جعبه ای سيستم کنترل کننده واکنشی فازی به صورت زير است. در نافازی سازی از روش مرکز سطح استفاده شده است.
ناوبری واکنشی فازی پايگاه قواعد سيستم فازی به صورت زير است:
ناوبری واکنشی فازی نتايج شبيه سازی به صورت زير ارائه شده است.
ناوبری واکنشی فازی مسيرحرکت ربات با استراتژی اجتناب از برخورد با مانع
رديابی مسير حرکت در اين مقاله کنترلر منطق فازی FLC برای تعقيب مسير ربات چرخدار بر اساس کنترلر ربات در يک سطح بالا ارائه شده است. اين کنترلر در حد بالايی مقاوم بوده و انعطاف پذير است و به منظور تعقيب کردن خودکار يک رشته از نقاط مسير گسسته استفاده می شود. نيازی به درون يابی کردن نقاط مسير برای توليد مسير مرجع پيوسته نيست. مزيت ديگر کنترلر فازی در مقايسه با ديگرروش های دنبال کردن مسيراين است که کنترل تنها برای دنبال کردن نقاط مرجع انجام مي شود و نيازی به کنترل زاويه سرربات و سرعت های مرجع نيست. همين امر رديابی مسير را مقاوم تر مي کند. زيرا تنها يک پارامتر کنترل مي شود. پارامترهای کنترلر منطق فازی در شکل نشان داده شده است.
رديابی مسير حرکت کنترل فازی برای هدايت اين ربات از دو کنترلر فازی تشکيل شده است. اولين سطح کنترلر، زوايای را دريافت کرده و خروجی آن پارامتر C مي باشد که نشان دهنده انحنای مسير حرکت ربات است. دومين سطح کنترلر چهار پارامتر را دريافت کرده و خروجی آن سرعت های زاويه ای و خطی ربات است. دياگرام کنترل و شکل شماتيک کنترل فازی در شکل زير نشان داده است.
رديابی مسير حرکت توابع عضويت متغيرهای ورودی و خروجی برای اولين سطح کنترل به صورت زير است.
رديابی مسير حرکت پايگاه قواعد مربوط به اولين سطح کنترل به صورت زير تعريف مي شود. در فرايند نافازی سازی از روش نافازی سازی مرکز ثقل استفاده شده است.
رديابی مسير حرکت توابع عضويت متغيرهای ورودی و خروجی برای دومين سطح کنترل به صورت زير است.
رديابی مسير حرکت ساير توابع عضويت به صورت زير است.
رديابی مسير حرکت پاسخ های ربوط به سيستم کنترل فازی به صورت زير است.
رديابی مسير حرکت مزايای اين روش در مقايسه با روش های ديگر تعقيب پويای مسير: 1-کنترلر فازی، حرکت ربات را در طول گسسته مسيری که می تواند توسط بعضی الگوريتم های بهينه سازی سطح بالا محاسبه شود ، کنترل می کند 2- کنترل موقعيت ربات در طول نقاط با موفقيت صورت گرفته است تا اينکه موقعيت مطلوب که منطق برآخرين نقطه مسير است، بدست می آيد. 3- با وجود اينکه کنترلر منطق فازی بر اساس مدل دقيق رياضی صورت نگرفته است، اين کنترل مقاوم و انعطاف پذير است
کاربرد الگوريتم ژنتيک در کنترل کننده های فازی الگوريتم ژنتيک قادر است بدون اطلاعات خبره، قوانين بهينه کنترل فرايند را تنها از طريق ارزيابی قوانين مختلف به دست آورد. اين ارزيابی مي تواند براساس روند کنترلی، تحت شرايط خاص سيستم انجام شود. جهت ارزيابی کمی هر مجموعه قوانين، مي توان برخی شاخص های کنترلی را برای عملکرد کنترلی در نظر گرفت و براساس آن مقدار يک تابع هدف را به دست آورد.
کاربرد الگوريتم ژنتيک در کنترل کننده های فازی ساختار سيستم فازی ژنتيک
کاربرد الگوريتم ژنتيک در کنترل کننده های فازی در روند طراحی چنانچه تعداد متغيرهای ورودی باشد و هر متغير ورودی حالت مختلف ( برچسب) داشته باشد، در اين صورت تعداد کليه ی قوانين ممکن برابر خواهد بود. اگر از تقارن استفاده شود، نيمه از جدول صحت در بيان شرايط ورودی قرينه نيمه ديگر مي باشد و کافی است وضعيت متغيرهای زبانی خروجی در يک نيمه از جدول تعيين شده ونيمه ديگر را مطابق بامقادير زبانی متقارن با نيمه اول تکميل کنيم. با توجه به اينکه ورودی صفر، خروجی صفر توليد مي کند، لذا قانونی به صورت پيش فرض در اينجا وجود دارد. بنابراين تعداد قوانين برابر زير خواهد بود. به طور مثال اگر فرض شود که يک سيستم کنترل فازی دارای 2 ورودی است و هر ورودی دارای 5 برچسب زبانی است ، در اين صورت 12 قانون در بيت های کروموزوم ها کد مي شوند. هر بيت مشخص کننده خروجی يک قانون است . در صورتيکه خروجی هر قانون 5 مقدار زبانی مختلف داشته باشد، محتوای بيت ها را اعداد 1 تا 5 در نظر مي گيريم.
کاربرد الگوريتم ژنتيک در کنترل کننده های فازی ماتريس قوانين متقارن به صورت زير تعريف می شود. جدول کد برای تابع عضويت خروجی به صورت زير است:
کاربرد الگوريتم ژنتيک در کنترل کننده های فازی ژن کد کننده قوانين را به صورت زير تعريف مي کنيم. در طراحی کنترل کننده فازی، مي توان علاوه بر کد کردن مجموعه قوانين در دنباله ها، توابع عضويت مقادير زبانی متغيرهای ورودی و خروجی را نيز در ادامه بيت های کروموزوم کد کرد. برای کد کردن توابع عضويت، مي بايست اين توابع را به صورت پارامتريک بيان کرد. توابع عضويت ورودی را روی حوزه تغييرات دو سيگنال خطا و تغيير خطا به صورت نرماليزه در بازه[-2,2] تعريف مي کنيم. توابع عضويت خروجی در فاصله [-1,1] نرماليزه مي شوند.
کاربرد الگوريتم ژنتيک در کنترل کننده های فازی توابع عضويت ورودی را به صورت مثلثی تعريف مي شوند.. برای ايجاد همپوشانی مناسب رابطه زير بين پارامترها برقرار است.