منبع پایان نامه ارشد درباره ازدحام ذرات، مفصل زانو

سری فوریه به کمک الگوریتم ازدحام ذرات
الگوریتم ازدحام ذرات برای اولین بار توسط کندی وابرهارت[34] معرفی شد. این الگوریتم یکی از جدیدترین روشهای ارائه شده پردازش تکاملی بر مبنای طبیعت است که بر اساس رفتار اجتماعی بنا نهاده شده است. در الگوریتم ازدحام ذرات گروهی از ذرات در نظر گرفته میشوند که در حال پرواز بر فراز فضایی D بعدی هستند و این ذرات مکان خود را با توجه به تجربیات قبلی خود و تجربیات همسایههای خود به روز میکنند. مکان ذره i ام توسط یک بردار مکان D بعدیp_i=(p_i1,p_i2,…p_iD) و یک بردار جهت v_i=(v_i1,v_i2,…v_iD) مشخص میشود. بردار مکان به عنوان مجموعهای از مختصات تلقی میشود که نقطه ای از فضای جست و جو را نشان میدهند. در هر تکرار از الگوریتم بردار مکان فعلی به عنوان یک راه حل کاندید برای مسئله تلقی میشود. یک تابع برازش نیز به عنوان معیاری برای تعیین راه حلهای مناسب در جهت پیشبرد روند جست و جو مورد استفاده قرار میگیرد. به این ترتیب بهترین مکان برای یک ذره در طول تاریخ خود آن ذره با توجه به تابع برازش در pbesti ذخیره میشود، همچنین بهترین مکان در بین تمامی ذرهها در متغیر gbesti ذخیره میشود. در هر تکرار از الگوریتم ذره i با توجه به فرمولهای 2-13 و 2-14 بردارهای مکان و سرعت خود را به روز میکند.
v_i (t+1)=wv_i (t)+c_1 r_1 (pbest_i-p_i (t))+c_2 r_2 (gbest_i-p_i (t)) 2-13
p_i (t+1)=p_i (t)+v_i (t+1) 2-14
در فرمول بالا W پارامتر وزن ماندگاری نام دارد که در حقیقت تنظیم کننده نرخ یادگیری الگوریتم است، به نحوی که با مقادیر بالای آن در اوایل جست و جو میتوان نرخ اکتشاف را بالا برده و در اواخر جست و جو، الگوریتم با کاهش مقدار W به مقدار بهینه میل میکند. همچنین c1 و c2 پارامترهای شتاب هستند و r1 و r2 متغیرهای تصدفی در بازه [1و0] هستند[35]. شکل 2-9 شمای کلی این الگوریتم را نشان میدهد.
شکل 2-9 : شمای کلی الگوریتم ازدحام ذرات
الگوریتم ازدحام ذرات این نکته را یادآوری میکند که یک ذره به تنهایی قدرتی ندارد اما با قرار گرفتن در قالب یک جمعیت و با تعامل بین ذرات میتوان به بهینه نزدیکتر شد. در الگوریتم ازدحام ذرات این تعامل با توجه به توپولوژی جمعیت و ساختار جمعیتی آغاز میشود. در طول جستو جو مکان هر ذره علاوه بر مکان قبلی خودش، با توجه به مکان همسایههایش در توپولوژی مورد نظر به روز رسانی میشود و از بهترین مکانهای یافته شده توسط همسایگانش نیز بهره میبرد [36] و در کل میتوان گفت که هر ذره سعی میکند که با فاصله از همسایههایش حرکت کند تا با آنها برخورد نکند. همچنین سرعت خود را با توجه به سرعت همسایههایش تنظیم میکند و همچنین هر ذره سعی میکند به سمت میانگین همسایههایش حرکت کند با امید اینکه همسایهها به بهینه نزدیک شده اند[37].
در سال 2009 نیما شفیعی [38] و همکارانش در مقالهای از الگوریتم ازدحام ذرات برای تنظیم پارامترهای سری فوریه برای راه رفتن روبات نائو استفاده کردند. آنها پارامترهای سریهای فوریه معادلات 2-9 تا 2-12 را به عنوان عناصر هر ذره در نظر گرفتند. به این ترتیب آنها به ذراتی با هفت بعد wh,t2,Ci,Ai,Bi,ck,ch رسیدند که به کمک الگوریتم ازدحام ذرات و با بهینهسازی این پارامترها به نتایجی بهتر از الگوریتم ژنتیک دست یافتند.
فصل سوم:
طرح پیشنهادی
مقدمه
در این فصل به حل مساله راه رفتن روبات انسان نمای نائو از بغل میپردازیم. در ادامه ابتدا به طور خلاصه به معرفی این روبات و آشنایی با ساختمان آن از جمله مفاصل و حسگرها خواهیم پرداخت. سپس در قسمت بعد ضمن معرفی حرکتشناسی روبات، از آن استفاده کرده و با پیاده سازی آن روی روبات شبیهسازی شده نائو، توانایی راه رفتن از بغل را در این روبات فراهم میآوریم. پس از آن در بخش بعد با معرفی اتوماتای یادگیر، جایگزینی حرکتشناسی معکوس با اتوماتای یادگیر مطرح میشود که در نهایت الگوریتمی مبتنی بر اتوماتاهای یادگیر برای راه رفتن روبات از بغل پیشنهاد خواهیم کرد و از مفهوم یادگیری اتوماتاهای یادگیر برای بدست آوردن مقادیر مفاصل پای روبات نائو به منظور راه رفتن استفاده خواهیم کرد.
روبات نائو و تحلیل حرکت آن
همانطور که در بخشهای قبل گفته شد روبات نائو یک روبات انساننما میباشد. این روبات توسط شرکت الدبران فرانسه طراحی شده است. نکته مهم درباره این روبات نحوه طراحی آن با هدف نزدیکی هرچه بیشتر به ساختار فیزیکی انسان است که قابلیت فعالیت در محیطهای انسانی را برای آن فراهم میآورد. نسخه شبیهسازی این روبات نیز در همان سال وارد مسابقات روبوکاپ شد وتاکنون نیز در حال استفاده قرار است. نسخههای شبیهسازی مختلفی از این روبات ارائه شده است که از جمله میتوان به Webot و Rcssserver3D اشاره کرد. در این پایاننامه از نسخه شبیهسازی Rcssserver3D استفاده میکنیم که یکی از بهینهترین و در عین حال از پرکاربردترین نسخههای شبیهساز روبات نائو میباشد[39]. روبات نائو مورد استفاده در این تحقیق روباتی با 57 سانتیمتر ارتفاع و 4.5 کیلوگرم وزن است. این روبات دارای 22 درجه آزادی است که هر پا 6 مفصل، هر دست 4 تا و سر نیز 2 مفصل دارد( شکل3-1) [40].
شکل 3-1 : مفصلبندی روبات نائو
همانطور که در شکل3-1 مشخص است تمامی مفاصل این روبات از نوع چرخشی هستند که در جدول 3-1 معرفی میشوند.
جدول 3-1 : مشخصات روبات نائو
مکان مفصل
شماره مفصل
توضیحات
مفاصل سر
مفصل شماره 1
حرکت دادن سر به چپ و راست
مفصل شماره 2
حرکت دادن سر به بالا وپایین
مفاصل دست
مفصل شماره 1
حرکت دادن دست به بالا و پایین
مفصل شماره 2
حرکت دادن دست به چپ و راست
مفصل شماره 3
عملکرد مشابه آرنج دست انسان
مفصل شماره 4
عملکرد مشابه مچ دست انسان
مفاصل پا
مفصل شماره 1
حرکت دادن پا به داخل وخارج
مفصل شماره 2
حرکت دادن پا به چپ و راست
مفصل شماره 3
حرکت دادن پا به بالا وپایین
مفصل شماره 4
عملکرد مشابه زانوی انسان(تنها قادر به حرکت به سمت داخل است)
مفصل شماره 5
عملکرد مشابه مچ پای انسان
مفصل شماره 6
حرکت کف پا حول خود
در راه رفتن انسان تمامی مفاصل موثر هستند. برخی از مفاصل در عمل راه رفتن تاثیر مستقیم دارند اما برخی دیگر از مفاصل در راه رفتن مناسب و بهتر تاثیر گذارند. اما در روباتهای انساننما به علت پیچیدگی زیاد به ناچار از تعدادی از مفاصل در هنگام راه رفتن صرف نظر میشود. این کار به ما کمک میکند که بر پیچیدگیهای محاسباتی غلبه کنیم و مدلی قابل استفاده را پیادهسازی کنیم. مهمترین مفاصل بدن برای راه رفتن مفاصل شماره سه، چهار و پنج پا هستند که به کنترل پا در حین راه رفتن کمک میکنند. این مفاصل کار بلند کردن پا و بر زمین گذاشتن آن را انجام میدهند. نکات مهمی درباره این چند مفصل وجود دارند که به تحلیل آنها کمک میکند، اولین نکته درباره مفصل زانو (مفصل شماره 4) این است که حرکت این مفصل همواره در جهت منفی است، و نسبت به حالت صاف بالاتر نمیآید. نکته دیگر این است که در راه رفتن معمولا کف پا را موازی زمین در نظر میگیرند که به این ترتیب میتوان گفت مجموع این سه مفصل برابر صفر میباشد. پس به این ترتیب با بدست آوردن مقدار دو مفصل سومی نیز بدست میآید سایر مفاصل پا نیز در راه رفتن تاثیر گذارند و این در حالیست که بسیاری از مدلهای معرفی شده برای راه رفتن از آنها صرف نظر کردهاند و این اتفاق به منظور کاهش پیچیدگی و قابل اجرا بودن الگوریتمها رخ داده است. با این وجود توجه به این نکته ضروری است که اعمال روش راه رفتن به تمامی مفاصل پا و درگیر کردن تمامی آنها در راه رفتن میتواند به افزایش انعطاف پذیری در راه رفتن کمک کند. این در حالیست که دخیل نمودن تمامی مفاصل در راه رفتن باعث پیچیدگی مدل و افزایش شدید بار محاسباتی مربوط به الگوریتم خواهد شد.
استفاده از حرکتشناسی معکوس در راه رفتن روبات از بغل
حرکتشناسی در پایهای ترین حالت به روباتهای صنعتی و بازوهای روباتیک مربوط میشود که هدف از آن تنظیم مفاصل لینکهای یک بازوی روباتیک به منظور هدفی خاص است. همانطور که قبلا توضیح داده شد یک روبات صنعتی دارای بخشهای مختلفی است که از جمله میتوان به پایه روبات و عملگر انتهایی آن اشاره کرد. حرکتشناسی معکوس به تنظیم مفاصل بر اساس مکان عملگر انتهایی میپردازد که این ایده را میتوان با در نظر گرفتن شرایط روباتهای انسان نما برای راه رفتن از بغل مورد استفاده قرار داد. در این بخش ابتدا به معرفی روشهای معمول در حرکتشناسی و چگونگی حل مسئله توسط آنها میپردازیم و سپس اعمال آن بر روی روبات نائو به منظور راه رفتن از بغل را بررسی خواهیم کرد.
3-3-1- حرکتشناسی مستقیم
بازوی روباتیک و یا روبات صنعتی از تعدادی اتصال صلب (link) تشکیل میشودکه توسط مفاصل (joints) به هم متصل میشوند. مفصل ها ممکن است چرخشی و یا رفت و برگشتی (لغزشی) باشند برای حرکت روبات از موتور و یا سیستم هیدرولیک استفاده میشود. در انتهای روبات یک ابزار قرار میگیرد که بر روی صفحه ای در مچ روبات نصب میشود. هدف از حل مسئله حرکتشناسی مستقیم، بدست آوردن مکان نهایی عملگر انتهایی روبات با توجه به مقادیر مفاصل روبات است. برای این کار چارچوبهای مختصاتی به هر بخش از مکانیزم روبات وصل شده و سپس ارتباط بین این محورها بیان میشود (شکل3-2).
شکل 3-2 : اتصال محورهای مختصات به یک بازوی روباتیک
در ساده ترین حالت میتوان روباتی تک مفصلی با دو اتصال را در نظر گرفت، به این ترتیب که عملگر انتهایی را نقطهای مانند p روی اتصال انتهایی در نظر میگیریم. با در نظر گرفتن این نکته که مفصل از نوع چرخشی است قصد داریم مختصات نقطه p پس از چرخش نسبت به پایه روبات بدست آوریم. در اینجا دو محور مختصات داریم، یکی برای لینک ثابت F=[f1,f2,f3]و دیگری برای لینک متحرکM=[m1,m2,m3] . در حقیقت محور M به همراه چرخش لینک و حرکت آن حرکت میکند. هدف این است که مختصات p را پس از جابجایی نسبت به محور ثابت F بدست آوریم در حالیکه مختصات آن نسبت به M را داریم. معادلات زیر مختصات p نسبت به هر دو چارچوب مختصات را نشان میدهد:
[p] M =[p.m1, p.m2, p.m3] 3-1
[p] F =[p.f1, p.f2, p.f3] 3-2
برای تبدیل از مختصات از ماتریس تبدیلی مانند A به صورت زیر میتوان استفاده کرد:
[p] F = A [p] M 3-3
اعضای ماتریس تبدیل A از ضرب داخلی محورها در هم به دست میآید:
Akj= fk .mj 3-4
حالت تعمیم یافته این مسئله زمانی است که روباتی با چند مفصل لغزشی و چرخشی داریم. روبات صنعتی اسکارا نمونهای از چنین روباتی است(شکل3-3). این روبات دارای سه مفصل است، یک مفصل لغزشی و دو مفصل چرخشی. به طور کلی در چنین مواردی از یک دستگاه مختصات همگن استفاده میشود به نحوی که ماتریس تبدیل حاصل بتواند همزمان چرخش و لغزش را مدل کند. به این ترتیب یک ماتریس تبدیل T به صورت معادله 3-5 بدست میآید.
T=[R¦0 P¦? ]

مطلب مرتبط با این موضوع :  پایان نامه با کلید واژه هاینرم افزار

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