شکل (1-1). ربات Lucy

شکل (1-2). ربات P2 از رباتهای هندا

در این سایت فقط تکه هایی از این مطلب با شماره بندی انتهای صفحه درج می شود که ممکن است هنگام انتقال از فایل ورد به داخل سایت کلمات به هم بریزد یا شکل ها درج نشود

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

شکل (1-3). ربات ASIMO آخرین نسل از رباتهای هندا
1-8- مساًلهی مورد پژوهش
پیادهسازی الگوریتم امپدانس چندگانه به یک ربات دوپا که در حال جابجائی یک جسم است، هدف اصلی این پروژه را شکل میدهد. ربات جسمی را با دو دست خود گرفته و در حال راه رفتن است. در میان مسیر، جسم به مانعی برخورد میکند. روش کنترلی امپدانس چندگانه رفتار امپدانسی مناسبی را به ربات و جسم به صورت هماهنگ وارد میکند. چگونگی رفتار خطای تعقیب مسیر در ربات و جسم تحت این روش کنترلی، بر اساس تدبیر مناسب چگونگی حرکت با استفاده از الگوریتم ژنتیک، حاکی از موفقیت کنترلر مزبور در انجام وظیفهی مورد نظر میباشد.

1-9- خلاصهی فصلها
در فصل آینده مدل ساده و صفحهای ربات را استخراج و آن را به کمک جعبه ابزار SimMechanics در نرم افزار MATLAB صحهگذاری مینمائیم. همین فرایند در فصل سوم و برای مدل سهبعدی انجام میشود. طراحی مسیر حرکت به کمک الگوریتم ژنتیک به همراه نتایج آن در فصل چهارم خواهد آمد. در فصل پنجم طراحی کنترلر و نتایج شبیه سازی ربات که به کمک جعبه ابزار SimMechanics انجام شده، آمده است.
در فصل ششم و پایانی نتیجهگیری نهائی به همراه پیشنهاداتی برای مطالعات آینده آمده است.

2-1- مقدمه
در این فصل مدلسازی دینامیک حرکت درون صفحه مورد توجه قرار گرفته است. مدلسازی حرکت صفحهای (دو بعدی) ربات و اعمال کنترل بر آن این امکان را به ما میدهد که با صرفنظر از پیچیدگیهای مربوط به مدل سهبعدی، بخش عمدهای از اصول دینامیکی، معیارهای پایداری، و مفاهیم کنترلی را پیادهسازی نموده و نتایج آن را مبنای مطالهی مدل سهبعدی قرار دهیم. در این راستا و با مراجعه به تاریخچه مطالعات انجام شده در زمینهی ربات دوپا درمییابیم که بخش عمدهای از آنها به حرکت درون صفحه پرداخته و مفاهیم علمی و دستاوردهای خویش را به روشنی بیان نمودهاند به طوری که مفاهیم پایداری مانند ZMP و الگوریتمهای کنترلی مختلف از این دستهاند.
2-2- معرفی مدل صفحهای ربات
مدل ساده از ربات مورد نظر ما در حرکت صفحهای 11 درجه آزادی دارد، شکل (2-1). در این شکل زوایا و گشتاورها در راستای عمود بر صفحه و جهت مثبت آن به سمت داخل صفحه در نظر گرفته شده است.
اگر حرکت ربات روی یک مسیر مستقیم را در نظر بگیریم میتوانیم بگوئیم که ربات در طول حرکت در فضای مفاصل و در یک سیکل کامل شامل یک گام با پای چپ و سپس گامی دیگر با پای راست مسیری تکراری را طی خواهد کرد. حال با فرض اینکه مفاصل نیم تنه راست در طول یک گام ( نیم سیکل ) مسیر طی شده به وسیلهی مفاصل نیم تنه چپ در طول نیم سیکل قبلی را طی خواهند کرد،
( و بالعکس ) میتوان حرکت ربات را به دو مرحله تقسیم نمود. مرحله یکتکیهگاهی و مرحله دوتکیهگاهی. درابتدای مرحله دوتکیهگاهی یک پا به طور کامل روی زمین قرار دارد و پاشنه پای دیگر به زمین رسیده است. در طول این مرحله پای اول حول پنجه میچرخد تا در آستانه جدایی قرار گیرد و پای دیگر با چرخش حول پاشنه به طور کامل روی زمین قرار میگیرد. اکنون ربات درآستانه مرحله یک تکیهگاهی است. در این مرحله پای اول از زمین جدا شده و به سمت جلو حرکت میکند و در انتهای مسیر پاشنه با زمین تماس پیدا میکند. پای دیگر نیز کاملا روی زمین قرار دارد.

شکل (2-1). ساختار ربات صفحهای

شکل(2-2) مراحل راه رفتن ربات
ربات در مرحله یک تکیهگاهی 11 درجه آزادی دارد (کف یک پا به طور کامل روی زمین قرار دارد و بدون حرکت است) و به صورت زنجیرهای باز از لینکها دیده میشود و در مرحله دو تکیهگاهی با 9 درجه آزادی دارد و دارای دو قید حرکتی میباشد.
2-3- دینامیک ربات
2-3-1- دینامیک ربات در مرحلهی یکتکیهگاهی
طراحی سیستم کنترل ربات مستلزم استخراج دینامیک ربات میباشد. دینامیک ربات با استفاده از روابط لاگرانژ و با کد مربوطه استخراج میشود. بدین منظور متغیرهای تعمیم یافته به این صورت انتخاب میشوند:
(2-1)
که در آن هر یک از ها معرف یکی از درجات آزادی است که در شکل (2-1) نیز نشان داده شدهاند. براین اساس بیان کلی از این روش آورده شده است.
(2-2)
برای لینک a میزان انرژی جنبشی به صورت زیر است:
(2-3)
که درآن جرم لینک ،سرعت خطی مرکز جرم ، اینرسی دورانی و سرعت دورانی میباشد.
با استخراج رابطه انرژی جنبشی برای لینکهای دیگر ماتریس جرمی با دو بار مشتقگیری نسبت به بردار سرعتهای زاویهای حاصل میشود.
(2-4)

(2-5)
که درآن تعداد درجات آزادی میباشد. همچنین داریم:
(2-6)
که درآن ماتریس جرم و بردار موقعیت زاویهای است.
اگر بردار موقعیت مرکز جرم لینک a به صورت زیر باشد،
(2-7)
که در آن نشاندهنده فاصله مرکز جرم از ابتدای لینک است، ماتریس گرانش با محاسبه برایند مولفه دوم بردار موقعیت تمامی جرمها و مشتقگیری ازآن نسبت به بردار موقعیت زاویهای به دست میآید.
2-3-2- دینامیک ربات در مرحلهی دوتکیهگاهی
از آنجا که در مرحله دوتکیهگاهی انتهای پاشنهی پای راست و نوک پنجهی پای چپ روی زمین قرار دارد، میتوان گفت که اختلاف موقعیت این دو نقطه در دستگاه کارتزین در طول مرحله دوتکیهگاهی مقداری ثابت است. بنابراین ربات در مرحله دوتکیهگاهی با 9 درجه آزادی زنجیرهای بسته دارد که دارای دو قید حرکتی زیر میباشد:
(2-8)
که در آن ،،،،، طول لینکهای اول تا پنجم و و مقادیری ثابتند.
با مشتقگیری از رابطهی بالا به رابطهی پایین میرسیم:
(2-9)
که در آن یک ماتریس است.
با اضافه کردن این قیود به معادله حرکت در حالت یک تکیهگاهی، رابطه زیر که نشاندهندهی معادله حرکت در فضای دو تکیهگاهی است به دست میآید.
(2-10)
که در آن معرف ضرایب لاگرانژ است.
برای حل این معادله از روش Natural Orthogonal Complement استفاده میشود. برای این منظور ابتدا دستهای از مختصات تعمیم یافته مستقل را انتخاب میکنیم.
(2-11)
در این صورت رابطهی زیر برقرار است:
(2-12)
از رابطهی (2-7) خواهیم داشت:
(2-13)
بنابراین با ضرب به سمت چپ معادلهی حرکت، ضرایب لاگرانژ حذف شده و خواهیم داشت:
(2-14)
2-4- صحهگذاری دینامیک ربات
به منظور تاًیید مدل دینامیکی از جعبه ابزار SimMechanics استفاده شده است. در این راستا مدل ساخته شده در محیط Simulink از یکسو و مدل استخراجی از روابط لاگرانژ از سوی دیگر و با ورودیهای مشابه اجرا شده و خروجیها مقایسه میشوند.
2-4-1- نحوهی انتخاب ورودیها و چگونگی اعمال آنها
انتخاب ورودیها باید به گونهای باشد که یک حرکت کلی را ایجاد نماید. در این راستا مسیرهائی با سرعت و شتاب متغیر به شکل زیر انتخاب شدهاند:
(2-15)
مسیرهای انتخابی همان مسیرهای پایدار طراحی شدهاند که به دلیل پیچیدگی رابطه با دقت بالائی به وسیلهی توابع چندجملهای فیت6 زده شدهاند. برای سایر مفاصل نیز توابعی چندجملهای به صورت مشابه انتخاب میشوند. برای حل دینامیک معکوس، این مقادیر به صورت ورودی به توابع ماتریسهای جرمی، گرانش و ماتریس اجزای غیرخطی و کوریولیس داده میشوند و بر اساس معادلهی حرکت مقداری عددی برای گشتاورها به دست میآید. همین ورودیها به مدل ساخته شده در محیط Simulink نیز اعمال میشوند.
2-4-2- نتایج صحهگذاری
جعبه ابزار SimMechanics این امکان را میدهد تا با نصب سنسور7هائی به هر مفصل گشتاور عکسالعملی را اندازهگیری نمائیم. مقادیر خروجی از مدل استخراجی از روابط لاگرانژ با مقادیر خروجی سنسورها مقایسه میشود. نمودار (2-3) میزان خطای موجود را نشان میدهد.

شکل (2-3-الف). خطای موجود در مفصل مچ پای راست شکل (2-3-ب). خطای موجود در سایر مفاصل
شکل (2-3-الف) خطای صحهگذاری در مفصل مچ پای راست را نشان میدهد. این مقدار خطا در واقع صفر است. شکل (2-3-ب) خطای صحهگذاری در سایر مفاصل را نشان میدهد. این میزان خطا، اصولاً خطای محاسباتی نرمافزار است، به طوری که میتوان آن را معادل صفر واقعی دانست. بنابراین میتوان گفت صحت مدل با دقت بالائی مورد تایید است. شکل (2-4) گشتاور ایجاد شده در زانو در اثر طی نمودن مسیر مطلوب ذکر شده در رابطهی (2-15) را به همراه شتاب و سرعت مسیر مورد نظر را نشان می دهد.

شکل (2-4-الف). گشتاور عکسالعملی روی زانوی پای راست شکل (2-4-ب). شتاب زاویهای زانو

شکل (2-4-ج). سرعت زاویهای زانو
جهت مقایسه مقادیر گشتاورهای مفاصل با نمونههای ساخته شده نموداری از مقادیر گشتاورهای مفصلی در ربات HRSP (ساخت Institute Mihailo Pupin) در حال راه رفتن عادی شکل (2-5) آمده است. این نمودار از آدرس اینترنتی زیر که متعلق به همین موًسسه است، گرفته شده است.
http://www.imp.bg.ac.yu/RnDProfile/ROBOTIKA/HRSP.htm
شکل (2-5). گشتاورهای مفصلی در ربات HRSP
در صفحه بعد تصویری از محیط Simulink که در آن صحهگذاری دینامیک انجام شده، آمده است. مدل ربات ساخته شده به کمک جعبه ابزار SimMechanics در بالا و توابع حامل ماتریسهای جرمی، گرانش و سرعتها در پائین آمده است.
3-1- مقدمه
روند تحقیق انجام گرفته در مورد مدل سهبعدی مشابه مدل دوبعدی است با این تفاوت کلی که در هر مرحله کار با پیچیدگی و حجم مضاعفی انجام میشود. پس از معرفی ساختار ربات به چگونگی محاسبهی دینامیک و تاًیید آن میپردازیم.
3-2- معرفی ساختار ربات
ربات مورد نظر دارای 16 درجه آزادی است. قوزک پا، زانو و آرنج با یک درجه آزادی و کتف و ران در اتصال به بالاتنه با دو درجه آزادی مدل شده است. همچنین یک درجه آزادی برای دوران بالاتنه حول محور خود در نظر گرفته شده است. مختصات تعمیم یافته به صورت زیرانتخاب میشود:
(3-1)
که در آن به ترتیب تا زوایای پای راست، زاویه کمر حول محور خود، تا زوایای پای چپ، تا زوایای دست راست، تا زوایای دست چپ و زاویه کف پای راست با زمین است.
3-3- دینامیک ربات
برای تشکیل رابطه انرژی جنبشی ، شناخت ماتریسهای دوران مربوط به هر مفصل مورد نیاز است. همچنین میبایست موقعیت مراکز جرم اعضا را نسبت به مبدا اینرسی توصیف کنیم. بدین منظور و بر اساس روش DH ماتریسهای دوران را استخراج میکنیم.
شکل (3-1). ساختار ربات سهبعدی
شکل (3-2). زوایای مچ و زانو و اعضای مربوط به آن
(3-2)
که در آن معرف ماتریس دوران کف پای راست نسبت به اینرسی و نشان دهندهی ماتریس دوران مچ پای راست نسبت به کف پا میباشد. با داشتن ماتریسهای دوران میتوان موقعیت مراکز جرمی را توصیف نمود. به عنوان مثال این مقدار برای ساق پای راست چنین است:
(3-3)
ماتریس ژاکوبی مربوطه نیز با استفاده از رابطه زیر به دست میآید:
(3-4)
که درآن ، ماتریس ژاکوبی سرعت خطی،، ماتریس ژاکوبی سرعت دورانی و توصیف محور z دومین درجه آزادی در راستای محور اینرسی است. (j شمارنده ستون ماتریس است). با استخراج ماتریسهای ژاکوبی تمامی اعضا ماتریس جرم با رابطه زیر به دست میآید:
(3-5)
در مرحله بعد ماتریس عوامل غیرخطی و کوریولیس و ماتریس گرانش و به دنبال آن رابطه گشتاورهای اعمالی با روابط زیر به دست میآید:
(3-6)
نیروی تعمیم یافته مفصل i ام میباشد. در اینجا به دلیل حجم بالای محاسبات و طولانی بودن روابط از ذکر جزئیات صرفنظر میکنیم.
3-4- صحهگذاری دینامیک
به منظور اعمال کنترل روی ربات و پیش از آن صحهگذاری دینامیک امری ضروری است. بدین منظور با استفاده از جعبه ابزار SimMechanics مدل استخراجی از روابط از یک سو و مدل ساخته شده در فضای Simulink از سوی دیگر به صورت همزمان و در یک محیط با ورودیهای یکسان اجرا میشوند تا اختلاف میان خروجیها مبنای سنجش صحت مدل باشد.
3-4-1- نحوهی انتخاب ورودیها و چگونگی اعمال آنها
انتخاب ورودیها باید به گونهای باشد که مدهای مختلف حرکتی را فعال نماید. در این راستا مسیرهائی با سرعت و شتاب متغیر به شکل زیر انتخاب شدهاند:
(3-7)
مسیرهای انتخابی همان مسیرهای پایدار طراحی شدهاند که به دلیل پیچیدگی رابطه با دقت بالائی به وسیلهی توابع چندجملهای فیت زده شدهاند. برای سایر مفاصل نیز توابعی چندجملهای به صورت مشابه انتخاب میشوند. این مقادیر به صورت ورودی به توابع ماتریسهای جرمی، گرانش و ماتریس اجزای غیرخطی و کوریولیس داده میشوند و بر اساس معادلهی حرکت مقداری عددی برای گشتاورها به دست میآید. همین ورودیها به مدل ساخته شده در محیط Simulink نیز اعمال میشوند. بلاک عملگر8 در جعبه ابزار SimMechanics این امکان را به ما میدهد که از میان دو گزینهی اعمال نیرو و اعمال مسیر مطلوب یکی را به دلخواه انتخاب کنیم. در اینجا اعمال مسیر مطلوب مورد نظر است. در فصل شبیهسازی توضیحات بیشتری در مورد نحوهی مدلسازی به کمک جعبه ابزار SimMechanics خواهد آمد.
3-4-2- نتایج صحهگذاری
به منظور ثبت میزان گشتاورهای لازم جهت طی نمودن مسیر مورد نظر، سنسور9هائی به هر مفصل متصل نمودهایم. مقادیر خروجی از توابع حامل معادلهی حرکت با مقادیر خروجی سنسورها مقایسه میشود. نمودار (3-3-الف) میزان خطای موجود را نشان میدهد. این میزان خطا در واقع و با توجه به پیچیدگی ترمهای مدل دینامیکی که به شدت غیرخطی است، صفر است. بنابراین میتوان گفت صحت مدل با دقت بالائی مورد تاًیید است. به عنوان نمونه میزان گشتاور مفصل مچ پای راست در شکل (3-3-ب)، شتاب در شکل (3-3-ج) و سرعت در شکل (3-3-د) آمده است. همچنین میزان گشتاور موجود در مفاصل ربات HRP جهت مقایسه در شکل (3-4) آمده است.

شکل (3-3-الف). خطای موجود در خروجی صحه گذاری شکل (3-3-ب). گشتاور عکسالعملی روی مچ پای راست

شکل (3-3- ج). شتاب زاویهای مفصل مچ پای راست شکل (3-3-د). سرعت زاویهای مفصل مچ پای راست
در صفحه بعد تصویری از محیط Simulink که در آن صحهگذاری دینامیک انجام شده آمده است. مدل ربات در بالا و توابع حامل ماتریسهای جرمی گرانش و سرعتها در پائین آمده است.

4-1- مقدمه
در این پروژه، بهینهسازی حرکت ربات با استفاده از الگوریتم ژنتیک انجام میشود. توضیحات مربوط به چگونگی و نحوهی ورود الگوریتم ژنتیک به بحث، در بخش مربوط به طراحی مسیر آورده میشود. ابتدا به طور مختصر به روند کاربرد و اجزاء و مفاهیم پایهی این الگوریتم میپردازیم.
4-2- الگوریتم ژنتیک
الگوریتم ژنتیک، روشی برای جستجو و بهینهسازی است که مبتنی بر احتمالات میباشد. روش کار در الگوریتم ژنتیک از فرآیند تکامل بیولوژیکی و انتخاب طبیعی در طبیعت الهام گرفته شده است. مفاهیم اولیه الگوریتم ژنتیک اولین بار توسط هلند10 [32] معرفی شده و پس از آن مقالات بسیاری در این زمینه ارائه شد. با پیشرفت کامپیوترها و افزایش سرعت آنها، امروزه استفاده از الگوریتم ژنتیک در مسائل مهندسی رواج یافته و مسائل پیچیدهای توسط الگوریتم ژنتیک حل شده است. روشهای بهینهسازی معمولاً به دو دسته کلی تقسیم میشوند: روشهای مبتنی بر گرادیان و روشهای مستقل از گرادیان. در روشهای بهینهسازی مبتنی بر گرادیان، برای بدست آوردن نقطه بهینه از مشتق یا گرادیان تابع نسبت به متغیرها استفاده میشود، لذا نیاز است که مشتق تابع هدف محاسبه شود. روشهای نیوتن، شیب نزولی و حداقل مربعات از این دست میباشند. اما در روشهای مستقل از گرادیان به اطلاعات مربوط به مشتق یا گرادیان تابع هدف نیازی نیست و این روشها معمولاً با استفاده از ارزیابی مکرر تابع هدف، نقاط بهینه را مییابند. الگوریتم ژنتیک و جستجوی تصادفی در زمره این روشها هستند.
در الگوریتم ژنتیک هر نقطه، که شامل متغیرهای مسأله در بازه مورد نظر است و میتواند یک جواب برای مسأله باشد، به صورت یک کد (معمولاً به صورت باینری) درمیآید. به این عمل کدگذاری گفته میشود و هر یک از نقاط کدگذاری شده یک کروموزوم یا یک شخص نامیده میشود. هر کروموزوم شامل تمامی متغیرها یا پارامترهای مسأله بصورت کدگذاری شده میباشد. هر یک از این متغیرهای کدگذاریشده ژن نامیده میشود. در واقع در فرآیند بهینهسازی در الگوریتم ژنتیک، نقاط از فضای متغیرهای مسأله به فضای ژنها و کروموزومها نگاشته میشوند و عملیات روی این کروموزومها انجام میشود. در پایان فرآیند بهینهسازی نقطۀ بهینۀ به دست آمده کدبرداری شده به فضای متغیرهای مسأله برگردانده میشود. برخلاف اکثر روشهای بهینهسازی که کار را با یک نقطه آغاز میکنند در الگوریتم ژنتیک یک مجموعه از نقاط به عنوان شروع در نظر گرفته میشود و عملیات بر روی تمامی این نقاط بصورت موازی انجام میشود. به این مجموعه که شامل نقاطی در فضای جواب مسأله است، یک نسل گفته میشود. یعنی هر نسل شامل تعداد معینی از اشخاص یا کروموزومها میباشد. در طول فرآیند بهینهسازی در الگوریتم ژنتیک با استفاده از یک نسل و اعمال عملگرهای ژنتیکی، نسل بعدی تولید میشود و به همین دلیل معمولاً از الگوریتم ژنتیک به عنوان روش بهینهسازی مبتنی بر نسل یاد میشود. برای شروع فرآیند بهینهسازی در الگوریتم ژنتیک به یک نسل اولیه نیاز است. این نسل اولیه معمولا به صورت تصادفی در بازه مورد نظر متغیرهای مسأله، با توزیع یکنواخت انتخاب میشود. چنانچه اطلاعاتی راجع به مسأله موجود باشد که به انتخاب اولیه جوابها کمک کند، بهتر است از این اطلاعات در تولید نسل اولیه استفاده کرد و به این ترتیب روند همگرایی الگوریتم ژنتیک را تسریع کرد. وقتی که نسل اولیه ایجاد شود برای تولید نسل بعدی نیاز است که عملکرد هر یک از اشخاص نسل کنونی ارزیابی شود. برای این کار از تابع شایستگی استفاده میشود. با استفاده از این تابع به هر نقطه یک مقدار شایستگی اختصاص داده میشود که عملکرد نقطه مورد نظر را نشان میدهد. روند بهینهسازی در الگوریتم ژنتیک بگونهای است که تابع شایستگی کلی در طول نسلها افزایش یابد. این کار با انتخاب اشخاص شایستهتر در هر نسل و اعمال عملگرهای ژنتیکی، برای تولید نسل بعد صورت میگیرد. اجزای اصلی الگوریتم ژنتیک در ادامه شرح داده می شود.

دسته بندی : پایان نامه ارشد

دیدگاهتان را بنویسید