*87

دانشگاه صنعتی خواجه نصیرالدین طوسی
دانشکدۀ مهندسی مکانیک
پایان نامۀ کارشناسی ارشد
عنوان:
کنترل ربات دو پا در حال جابجایی جسم به وسیله الگوریتم امپدانس چندگانه
استاد راهنما:
دکتر سید علی اکبر موسویان
نگارش:
سید محمد جواد حسینی
مهر 1388

دانشگاه صنعتی خواجه نصیرالدین طوسی
دانشکده مهندسی مکانیک
هیئت داوران پس از مطالعه پایان نامه و شرکت در جلسه دفاع از پایان نامه تهیه شده
تحت عنوان:
کنترل ربات دو پا در حال جابجایی جسم به وسیله الگوریتم امپدانس چندگانه
توسط سید محمد جواد حسینی صحت و کفایت تحقیق انجام شده را برای اخذ درجه کارشناسی ارشد در رشته مکانیک گرایش طراحی کاربردی مورد تایید قرار می دهد.
استاد راهنما: آقای دکتر سید علی اکبر موسویان
استاد راهنما: آقای دکتر
ممتحن داخلی آقای دکتر علی غفاری
ممتحن داخلی آقای دکتر سید حسین ساداتی
نماینده تحصیلات تکمیلی دانشکده: آقای دکتر سید حسین ساداتی
چکیده
آنچه پیش روی شماست، تحقیقی پیرامون نحوهی پیادهسازی الگوریتم کنترلی امپدانس چندگانه در رباتهای دوپاست. روش کنترلی امپدانسی و در راًس آنها امپدانس چندگانه کاملترین روشهای کنترلی تئوریک به منظور ایجاد تعامل مناسب میان ربات و محیط اطراف به خصوص در انجام کارهای مشارکتی توسط دو یا چند بازوی کارگر به شمار میروند. پیش از این و به منظور بسط روش امپدانس چندگانه، پیادهسازی آن در مدل ربات فضائی مورد توجه قرار گرفته و نتایج آن که موًید روش کنترلی به کار رفته بودهاند، منتشر شده است. این پروژه نیز در همین راستا و با هدف گسترش به کارگیری این روش در رباتهای دوپا تعریف و انجام شده است.
در ابتدا و با هدف سادهسازی، مدل ربات در صفحه استخراج شده و پس از صحهگذاری روش کنترلی مدلمینا روی آن پیادهسازی شده است. سپس مدل سهبعدی ربات استخراج و صحهگذاری آن به کمک جعبهابزار SimMechanics در نرمافزار MATLAB انجام شده است. پس از طراحی مسیر پایدار، شبیهسازی اعمال روش کنترلی مدلمبنا و الگوریتم کنترلی امپدانس چندگانه روی ربات به کمک جعبهابزار SimMechanics انجام شده است.
34861523495فصل اول
مقدمه
00فصل اول
مقدمه

1-1-مقدمه
در این فصل به تحقیقات صورت گرفته در زمینهی رباتهای دوپا پرداخته میشود. اینکه چگونه مدل دو درجه آزادی Golliday وHemami[1] در سال 1976 به مدلهائی کاملتر و روشهای کنترل نیرو یا موقعیت به الگوریتمهای امپدانسی تبدیل شدهاند، مورد بحث قرار میگیرد. دیدگاه بهینهسازی و روشهای کنترل هوشمند به صورت خلاصه آورده شدهاند. سپس به نمونههائی از رباتهای دوپا که تاکنون ساخته شدهاند میپردازیم. در انتها هدف از انجام پروژه معرفی شده و مساًلهای را که به آن پرداختهایم تعریف میکنیم.
1-2-تلاشهای اولیه
اولین تلاشها برای شناخت دینامیک رباتهای دوپا جهت کنترل آنها به دهه 70 باز میگردد. در سال 1976 Golliday وHemami، از فیدبک خطی جهت پایدارسازی مدل دو درجه آزادی و تعیین موقعیت قطبها جهت تحمیل مشخصات مطلوب به سیستم استفاده نمود. فیدبک خطی به طور کلی شامل فیدبک کردن تمام متغیرهای حالت به تمام عملگرها در سیستم است. در همین سال Hemami وCamana[2]، پایدارسازی ایستادن و حرکت پریودیک را با استفاده از فیدبک غیرخطی ارائه نمودند. پس از آن Hemami وCvetkovic[3]، با ترکیبی از فیدبکهای خطی و غیرخطی ناحیه بزرگتری از پایداری را به وجود آورد. عدم وجود مدلهای با درجات آزادی بالاتر که شباهت بیشتری به انسان داشته باشند Golliday وHemami[4]، را بر آن داشت تا با در نظر گرفتن یک مدل سهدرجه آزادی و با استفاده از تکنیکهای شناخته شده تا آن زمان روابط مورد نیاز برای کنترل مدل بدون زانوی خود را استخراج نمایند. آنها ابتدا به وسیله معادلات لاگرانژ دینامیک سیستم را شناختند و پس از خطیسازی روابط را به فرم معادلات حالت درآوردند تا روی پایداری، کنترلپذیری و مشاهدهپذیری سیستم مطالعه نمایند. در کنترلر، فیدبک چند متغیره برای دیکوپله کردن معادلات دینامیک رسته 6 به سیستمهایی جدا و با رسته 2 اعمال شد. این عمل نقش عمدهای در سادهسازی طراحی کنترلر دارد. در بخش بعدی با اعمال فیدبک حرکتی با طول گام و سرعتی مشابه انسان تولید نمودند.
Hemami و همکاران [5]، آزمایشاتی روی مدلهایی از مجاری نیمدایره و اتولیتها که به وسیله Nashner و با تخمین توابع انتقال این اندامها ارائه شده بود، انجام دادند. هدف اصلی از این کار تشخیص کفایت این مدلها در پایداری رباتهای پادار بود. هدف دیگر نزدیک کردن آنالیز حرکت به واقعیت بود به گونهای که به جای فیدبک حالت از فیدبک خروجی اتولیت استفاده شود. نتایج بیان میداشتند که برای پایداری مدل پاندول معکوس نیاز به فیدبکهایی از سرعت و موقعیت میباشد. همچنین مقادیر کوچک و مختلفی از بهره در نظر گرفته شد که بعضی از آنها پس از اعمال به حلقه کنترلی، شباهت زیادی به نتایج آزمایشگاهی Nashner نشان میداد.
به طور کلی مطالعات انجام گرفته در این دهه و حتی اوایل دهه 80 به دلیل در نظر گرفتن درجات آزادی کم و عدم پیادهسازی روی یک ربات، نمیتوانند پاسخگوی نیازهای کنونی محققین جهت ساخت وکنترل رباتهایی که در تعامل با انسان و محیط پیرامون خود، بتوانند از عهده وظایف پیچیده برآیند، باشند.
1-3- دیدگاه بهینهسازی
رباتهای دوپا ناچار به استفاده از منابع انرژی محدود هستند. در شرایطی که راه رفتن در یک سیکل تکرارشونده در حال انجام است، توجه به مصرف مینیمم انرژی می تواند بسیار سودمند باشد. در راستای بسط روش راه رفتن با مصرف مینیمم انرژی در سطوح صاف و شیبدار Channon و همکاران [6]،Rostami و همکاران [7] و Roussel و همکاران [8]، روشهایی از تولید مسیر را با مینیممسازی تابع هزینه انرژی مصرفی ارائه نمودند. Hardt و همکاران [9]، مساله مصرف مینیمم انرژی در ربات را مورد توجه قرار دادند. حل معادلات پیچیده حاصله به وسیله روشهای عددی و مدل دینامیک بازگشتی آسان شده است. در سال 1997Fujimoto و Kawamura[10]، روش جدیدی از حرکت ربات را بر اساس توزیع بهینه نیروی پا به وسیله برنامهریزی غیرخطی (Quadratic Programming)، ارائه نمودند. کنترلر شامل کنترل مقاوم نیرو در پای تکیهگاه، کنترل مقاوم موقعیت در پای غیر تکیهگاه، یک کنترلر وضعیت (Attitude Control) و یک قسمت طراحی حرکت پای آزاد میباشد. ورودی به کنترلر وضعیت نیروی عکسالعمل است. روش به کار رفته در اینجا میتواند وضعیت کل ربات در برخورد پا و زمین را علیرغم وجود اصطکاک کم پایدار نماید. در سال 2002 ، Ono و Liu [11]، مسیر بهینه ربات را با مینیممسازی مربعات گشتاورهای ورودی طراحی کرد. پس از آن Wollherr و همکاران [12]، کنترل بهینه مسیر را با یک روش همزمان جبرانسازی ژاکوبینها ترکیب نمودند. آنها برای جبران انحرافات در شرایط پایداری یا قیود موجود که در اثر عواملی چون اغتشاشات خارجی و یا اشکالات سخت افزاری ممکن است به وجود آید، از روشی به نام جبران ژاکوبی استفاده نمود. در این روش با جابجایی محورهای مختصات متصل به بدن ربات انحرافات ایجاد شده جبران میشود.
1-4 -روشهای کنترل هوشمند
راه رفتن روی سطوح دارای شیب و موانع مختلف و یا سطوح نامشخص ممکن است باعث ناپایداری ربات شود. این ناپایداری درنتیجه خطاهای تعیین موقعیت و ایجاد نیروهای نامتعادل در پاها میباشد. در شرایط واقعی یک ربات دوپا تنها برای راه رفتن روی سطوح هموار مورد نیاز نیست بلکه تطبیق با عدم قطعیتهای محیط، مطلوب نظر کاربر میباشد. یک ربات با شرایط عملکرد مطلوب میبایست بیش از پیش به انسان شبیه باشد. توانائی تغییر مسیر (Switching) و یادگیری مسیر زمانی که ربات با یک مسیر نامشخص از قبل روبرو میشود، دغدغههایی است که ذهن دانشمندان را سالها به خود مشغول نموده است. تحت این شرایط ترکیب تکنیکهای کنترل نیرو و موقعیت با الگوریتمهای آموزشی ضروری به نظر میرسد. Miller [13]، ِDoerschuk و همکاران [14]و Kun و Miller [15]، کارهای اولیه در زمینه اعمال شبکههای عصبی به ربات دوپا را انجام دادند. Salatan و همکاران [16] و Hu و همکاران [17]، از دیگر افرادی بودند که در این زمینه تلاشهایی انجام دادند. Kurematsu و همکاران [18] وJuang وLin [19]، به صورت موثری از شبکههای عصبی در طراحی مسیر استفاده کردند. پیش از اینها و در سال1992، Wang و همکاران [20] ، ساختار شبکه عصبی را برای کنترل یک مدل سه لینکی به کار بردند. کنترلر از مشخصههای محاسباتی مفید شبکههای عصبی از جمله مقاوم بودن و تطبیق پارامترها استفاده میکند. مقایسه عملکرد کنترلر با کنترلر حاصل از قانون کنترل بهینه کارایی بهتر آن را در حضور اغتشاشات بزرگ نشان میدهد.
به دلیل توانائیهای تکمیلی، روشهای هوشمند هیبرید جایگاهی قابل توجه در مطالعات مربوط به حرکت ربات پیدا کردهاند. درسال 2000 Juang[21] ، یک الگوریتم یادگیری بر اساس کنترلر نوروفازی را معرفی کرد. این الگوریتم می تواند محدودیتها و شرایط مختلف از جمله طول گام و سرعت راه رفتن را به طور کامل ارضا نماید. الگوریتم ژنتیک به صورت موثری در مفاهیم شبکههای عصبی در رباتها به کار گرفته شده است.Nagasaka و همکاران [22]، در ربات 16 درجه آزادی خود که هدایت بصری داشت، از یک کنترلر نوروژنتیک استفاده کردند. آموزش حرکت چرخشی پا (Swing motion) به وسیله شبکه عصبی و به کمک اطلاعات بصری از یک محیط کار مجازی هدف اصلی این پژوهش بوده است. محیط کار مجازی به منظور شتابدهی به فرایند یادگیری موثر است. اختلافات موجود در فرایند یادگیری میان محیط کار مجازی و ربات واقعی به وسیله توانائیهای شبکه عصبی خنثی میشود.1-5- کنترل امپدانس
پس از آشکار شدن مشکلات الگوریتمهای کنترل نیرو، کنترل موقعیت و حتی الگوریتمهای هیبریدی از این دو، ارائه روشی نوین که نقاط ضعف قبلی را پوشش دهد، امری مهم و تاثیرگذار تلقی میشد. روش کنترل امپدانس که به وسیله Hogan[23] ، ارائه شد، مفهوم جدیدی در کنترل بود که نه دقیقا به مفهوم کنترل نیرو بود و نه با کنترل موقعیت انطباق داشت، بلکه ترکیبی از هر دو بود. به کارگیری این مفهوم در رباتهای دوپا مدتها بعد و در سال،2001 به وسیله Park[24] ، انجام شد. او با بکارگیری این الگوریتم توانست کنترل پای چرخان (Swing motion) را به خوبی کنترل مفصل ران انجام دهد که از این جهت کاری قویتر از کارهای قبلی بود. پیش از آن و در سال1999 ، Park و Chung[25] ، از ترکیب روش گشتاور محاسبه شده و کنترل امپدانس برای کنترل حرکت ربات استفاده نمود. نقش کنترل امپدانس کنترل پای چرخان (Swing motion) و به طور خاص کنترل ضربه حاصل از فرود آمدن پا بود. شبیهسازی انجام شده، کیفیت بهتر عملکرد کنترلر را نسبت به زمانی که تنها الگوریتم گشتاور محاسبه شده استفاده شده بود، نشان میدهد.
الگوریتم کنترل امپدانس به روش کنترلی که انسان در حرکت خود به کار میبرد، بسیارشبیه است. ما در هر گام ماهیچههای خود را منقبض و منبسط میکنیم. این عمل به خصوص در پاها بسیار مهم است. انقباض و انبساط ماهیچهها به نوعی همان تغییر ضرائب امپدانس است. انسان قبل از گذاشتن پا روی زمین، پا را ریلکس میکند تا ضربه را جذب کند و پس از آن برای حفظ پایداری عضلات را منقبض میکند. وقتی انسان راه میرود، دقیقا مسیر حرکت بالاتنه را کنترل نمیکند، بلکه نیروی پاها که جابجایی بالاتنه را موجب میشوند، کنترل میکند. همچنین انسان مسیر پای متحرک را به منظور جلوگیری از برخورد پا با موانع کنترل مینماید.
Lim و همکاران [26] ، در همان زمان، کنترل امپدانس را در ربات WABIAN-R III با موفقیت به کار بردند. در این تحقیق ضریب دمپینگ بالائی برای امپدانس در نظر گرفته شده بود تا اثر ضربه پا کاهش یابد. همین طور سختی بالائی برای نیمه اول مرحله یک تکیهگاهی به منظور افزایش ممان داده میشود. پارامترهای کنترل امپدانس به صورت همزمان (Real Time) و در طول حرکت، تنظیم میشوند.
1-6- کنترل جابجائی جسم
در راستای کنترل نیروهای عمل و عکس العملی در فرایندهائی که مسألهی برخورد با محیط را شامل میشوند، الگوریتمهای کنترل نیرو و امپدانس استخراج شدهاند. در سال 1981، (Raibert & Craig) الگوریتم هیبریدی نیرو و موقعیت را ارائه نمودند که در آن نیرو در بعضی راستاها و موقعیت در راستاهای دیگر کنترل میشد [37] .(Nakamura et al) در سال 1987، جابجائی جسم توسط چند بازو به صورت هماهنگ را مورد مطالعه قرار دادند و در آن دینامیک جسم را هم ملاحظه نمودند [38]. اما به جهت اینکه کنترل نیرو و موقعیت هر دو در یک راستا امکانپذیر نبود، Hogan، مفهوم کنترل امپدانس را به منظور رفع این معضل در سال 1985 ارائه نمود [23]. از آن پس مفهوم امپدانس مبنای کنترل در فرایندهائی که در آن ربات به نوعی با محیط اطراف خود تماس دارد قرار گرفت، به طوری که بخش عمدهای از تحقیقات مربوط به این زمینه را ترکیب کنترل امپدانس با سایر الگوریتمهای کنترلی شامل میشود. در سال 1988 ((Goldenberg، با اعمال همزمان کنترل امپدانس و کنترل نیرو، چگونگی اعمال نیروی دلخواه به محیط و همزمان برقراری رابطه میان این نیرو و موقعیت نقطهی تماس نسبت به موقعیت بازو را مورد مطالعه قرار داد [39]. در سال 1993،(Seraji & Coulbagh)، تلاش کردند تا با اعمال نیروی دلخواه تماسی در قالب کنترل امپدانس، چگونگی تعامل با محیطهای ناشناخته برای ربات را مورد بررسی قرار دهند [40]. در سال 2001،(Nagchaudhuri &Garg)، ترکیبی از کنترل تطبیقی و امپدانس را به منظور جابجائی یک جسم سنگین به وسیلهی دو بازوی کارگر ارائه نمودند[41]. در همین سال (Cacavalle & Villani)، با اعمال کنترل مقاوم، به دلیل اغتشاشات وارده و دینامیک مدل نشده، و همزمان اعمال کنترل امپدانس به هر یک از بازوها و همچنین جسم، روشی را برای کنترل جابجائی جسم به وسیلهی چند بازو را ارائه نمودند[42].
پیش از آنها و در سال 1992،(Shneider & Cannon)، با اعمال کنترل امپدانس بر جسم، OIC را معرفی نمودند [43]. این روش به دلیل عدم وجود پسخوراند از حرکت مجری نهائی، ممکن است موجب بروز مشکلاتی شود. به عنوان مثال، زمانی که جابجائی یک جسم منعطف مورد نظر باشد، به کار بردن این الگوریتم موجب ناپایداری میشود. این مسأله را (Meer &Rock)، در سال 1995 نشان دادند [44].
اما راه حل معضلات موجود در روشهای قبلی با ارائهی روش کنترل امپدانس چندگانه توسط (Moosavian & Papadopolus)، در سال 1997 منتشر شد[45]. در این روش با اعمال کنترل امپدانس در تمام سطوح، به یک حرکت هماهنگ برای رسیدن به هدف تعقیب جسم دست مییابیم. این روش توسط این دانشمندان بر مدلی از یک موشک فضانورد با موفقیت اعمال شده است [46]. هماکنون کاربردهای دیگری از آن در دست مطالعه و بررسی است. این پروژه نیز در همین راستا و با هدف گسترش کاربرد این روش در رباتهای دوپا تعریف و انجام شده است.
1-7- نمونههائی از رباتهای ساخته شده
بیشک هدف اصلی از ارائه تمامی این تئوریها و آزمایشات، تکامل هر چه بیشتر الگوریتمهای کنترلی جهت پیادهسازی در ربات دوپاست. در این میان مروری بر دو نمونه از رباتهای ساخته شده خالی از لطف نیست.
در سال 2005Verrelst و همکاران [27] ، رباتی ساختند که عملگرهای آن همگی نیوماتیکی بودند. دراین ربات که Lucy نام دارد، برای یک مسیر طراحی شده روش گشتاور محاسبه شده و کنترل بنگبنگ برای فشار استفاده شده است.
ربات P2 از سری رباتهای تولیدی شرکت هندا در مراحل زیر کنترل میشود (Hirai و همکاران [28]):
1-کنترل نیروی عکسالعمل سطح
2-کنترلرZMP مدل، در مسیر حرکت ربات به گونهای که ZMP به نقطهای مناسب جابجا شود، تغییر ایجاد میکند.

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

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

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

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

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

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

شکل(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)
مسیرهای انتخابی همان مسیرهای پایدار طراحی شدهاند که به دلیل پیچیدگی رابطه با دقت بالائی به وسیلهی توابع چندجملهای فیت زده شدهاند. برای سایر مفاصل نیز توابعی چندجملهای به صورت مشابه انتخاب میشوند. برای حل دینامیک معکوس، این مقادیر به صورت ورودی به توابع ماتریسهای جرمی، گرانش و ماتریس اجزای غیرخطی و کوریولیس داده میشوند و بر اساس معادلهی حرکت مقداری عددی برای گشتاورها به دست میآید. همین ورودیها به مدل ساخته شده در محیط Simulink نیز اعمال میشوند.
2-4-2- نتایج صحهگذاری
جعبه ابزار SimMechanics این امکان را میدهد تا با نصب سنسورهائی به هر مفصل گشتاور عکسالعملی را اندازهگیری نمائیم. مقادیر خروجی از مدل استخراجی از روابط لاگرانژ با مقادیر خروجی سنسورها مقایسه میشود. نمودار (2-3) میزان خطای موجود را نشان میدهد.
-3048001314452743200-1905
شکل (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 در بالا و توابع حامل ماتریسهای جرمی، گرانش و سرعتها در پائین آمده است.
32321536830فصل سوم
مدل سازی دینامیک حرکت سه بعدی
00فصل سوم
مدل سازی دینامیک حرکت سه بعدی

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 نیز اعمال میشوند. بلاک عملگر در جعبه ابزار SimMechanics این امکان را به ما میدهد که از میان دو گزینهی اعمال نیرو و اعمال مسیر مطلوب یکی را به دلخواه انتخاب کنیم. در اینجا اعمال مسیر مطلوب مورد نظر است. در فصل شبیهسازی توضیحات بیشتری در مورد نحوهی مدلسازی به کمک جعبه ابزار SimMechanics خواهد آمد.
3-4-2- نتایج صحهگذاری
به منظور ثبت میزان گشتاورهای لازم جهت طی نمودن مسیر مورد نظر، سنسورهائی به هر مفصل متصل نمودهایم. مقادیر خروجی از توابع حامل معادلهی حرکت با مقادیر خروجی سنسورها مقایسه میشود. نمودار (3-3-الف) میزان خطای موجود را نشان میدهد. این میزان خطا در واقع و با توجه به پیچیدگی ترمهای مدل دینامیکی که به شدت غیرخطی است، صفر است. بنابراین میتوان گفت صحت مدل با دقت بالائی مورد تاًیید است. به عنوان نمونه میزان گشتاور مفصل مچ پای راست در شکل (3-3-ب)، شتاب در شکل (3-3-ج) و سرعت در شکل (3-3-د) آمده است. همچنین میزان گشتاور موجود در مفاصل ربات HRP جهت مقایسه در شکل (3-4) آمده است.

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

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

475615283845فصل چهارم
طراحی شیوه ی حرکت پایدار ربات
00فصل چهارم
طراحی شیوه ی حرکت پایدار ربات

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

شکل (4-1)- آمیزش تک نقطهای
چنانچه به جای یک نقطه، کروموزومها از دو نقطه شکسته شوند آمیزش دونقطهای حاصل میشود.
4-2-5- جهش
با استفاده از عملگر آمیزش اطلاعات ژنتیکی اشخاص موجود در نسل حاضر مبادله میشود، اما چنانچه نسل حاضر شامل تمام اطلاعات ژنتیکی لازم برای حل مسأله نباشد، عملگر آمیزش به جواب نهایی مسأله منجر نخواهد شد. لذا عملگر دیگری که جهش نام دارد معرفی شده است. جهش عبارتست از تغییر ژنتیکی در یک شخص، که بطور تصادفی و با احتمالی برابر نرخ (احتمال) جهش اتفاق میافتد. در عالم واقع نیز جهش ژنتیکی به دلیل تأثیرات محیطی، مانند رادیواکتیو، در یک فرد اتفاق میافتد. در الگوریتم ژنتیک عملگر جهش معمولا با تغییر یک بیت، که بصورت تصادفی از یک کروموزوم انتخاب میشود، اعمال میشود (شکل (4-2)).

شکل (4-2)- جهش تک نقطهای
تاثیر مثبت عملگر جهش این است که گستردگی ژنتیکی حفظ میشود و مانع از گیر افتادن در نقاط بهینه محلی میشود.
4-2-6 روند بهینهسازی با الگوریتم ژنتیک
تا اینجا به شرح مهمترین اجزاء الگوریتم ژنتیک پرداخته شد و حالا میتوان روند کلی بهینهسازی با الگوریتم ژنتیک را توضیح داد. الگوریتم ژنتیک یک الگوریتم تکراری است که میتوان آن را به صورت زیر فرمولبندی کرد:
1- ایجاد نسل اولیه
2- محاسبه مقادیر شایستگی برای هر یک از اشخاص نسل حاضر
3- انتخاب اشخاص شایسته برای تولید نسل بعد
4- اعمال عملگر آمیزش
5- اعمال عملگر جهش
6- تولید نسل جدید
7- تکرار مراحل دو تا شش تا زمانی که شرط اتمام حلقه ارضاء شود.
شرط اتمام حلقه معمولاً حداکثر تعداد نسلها در نظر گرفته میشود، هر چند که میتوان میزان تغییرات همگرایی جواب را نیز به عنوان شرط اتمام حلقه در نظر گرفت. فلوچارت الگوریتم ژنتیک در شکل (4-3) مشاهده می شود. با توجه به مطالب گفته شده ملاحظه میشود که الگوریتم ژنتیک روشی کاملاً متفاوت با روشهای مرسوم بهینهسازی است. این روش نقاط قوت و ضعفی دارد که هنگام استفاده از آن باید مورد توجه قرار گیرند. خصوصیات الگوریتم ژنتیک را میتوان به صورت زیر خلاصه کرد[33 و 35 و 36]:

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

شکل (4-4)–محدودهای که اگر zmp درآن قرار گیرد،پایداری حاصل میشود
برای بررسی پایداری ربات ابتدا مختصری به تعریف مفاهیم پایداری میپردازیم. در شکل زیر نمای کلی از کف پای ربات (support polygon) به نمایش درآمده است.
شکل (4-5). چگونگی توزیع نیرو روی کف پا
در تصویر سمت چپ نیروهای عمود بر سطح و در شکل میانی نیروهای موازی سطح نشان داده شده که برایند آنها را میتوان با گشتاور ونیروی عکسالعمل سطح مدل کرد. یا مرکز فشار همان نقطهی است که برایند نیروهای عمود بر سطح از آن میگذرد.
معیارهایZMP وFRI معیارهای اصلی در بررسی پایداری ربات هستند. معیارZMP درتمام طول حرکت و معیار FRI در مرحله SSP (یک تکیه گاهی) کاربرد دارد. البته اگر دینامیک و طراحی مسیر ربات درصفحه مورد نظر باشد، خود به خود بحثی از معیار FRI پیش نمیآید.
4-3-1- معیار ZMP
تاکنون بیانهای مختلفی برای مفهوم ZMP ارائه شده است. در اینجا اشارهی مختصری به موارد اصلی مینماییم.
1-(Hirai&Golliday ) ZMP نقطهای است که مولفهی عمودی نیروی عکسالعمل از سطح میگذرد.
2-(Takanishi et al) ZMP نقطهای روی سطح زمین است که برایند گشتاور ایجاد شده به وسیلهی گرانش و اینرسی در آن صفر است.
3-(Arakawa&Fukuda) ZMP نقطهای روی سطح زمین است که برایند گشتاور ایجاد شده به وسیلهی نیرو و گشتاور عکسالعمل دارای شرایط زیر است:

4-(Hirai et al) ZMP نقطهای روی سطح زمین است که گشتاور برایند نیروی اینرسی در آن نقطه برابر صفر شود.
بر طبق آنچه 1999) Goswami) و پیش از آن (Li et al 1993) اشاره داشته و اثبات نمودهاند اگرZMP در محدوده support polygon باشد بر COP منطبق است.
رابطهای که برای یافتن مختصات مورد توجه است، به مانند تعریف آن، ساده است. Furuta و همکاران]30[، رابطه زیر را برای محاسبه آن به کار میبرند:
(4-1)
در این رابطه جرم لینک iام ووموقعیت جرم iام را نشان میدهند. فرم کاملتری از این رابطه را پیش از آن Huang و همکاران]31[، به صورت زیر ارائه کرده بودند:
(4-2)
(4-3)

4-3-2- معیار FRI
FRI نقطهای روی سطح است که برایند نیرو و گشتاورهای اعمالی روی پا عمود برسطح باشد.
بر طبق آنچه 1999) Goswami) بیان کرده است تحت هر یک از شرایط زیر COP وFRI بر هم منطبقند. انطباق این دو به معنی باقی ماندن FRI در support polygon و پایداری ربات در مقابل چرخش حول پای مستقر بر زمین میباشد:
پا بدون حرکت است یا سرعت دورانی و خطی ثابت دارد به بیانی دیگر:

2- پا بدون جرم و فاقد اینرسی دورانی است.

3-
نکته قابل توجه در این جا آنست که شرط اول به خوبی در مورد ربات ما صادق است. چرا که پا (لینک a) در طول مرحلهی یک تکیهگاهی بدون حرکت است.

شکل (4-6). چگونگی توزیع نیرو روی پا جهت محاسبه FRI
4-4-معرفی قیود
مهمترین نکته پس ازرعایت پایداری، رعایت قیود موجود است. به عنوان مثال برای پرهیز از ایجاد ضربه سرعت نقاطی از پا که به زمین نزدیک میشوند و روی زمین قرار میگیرند در لحظه تماس صفر در نظر گرفته میشود.
با توجه به این نکته که ربات (والبته انسان) اصولا در طول راه رفتن مسیری تکراری را طی میکند، مساله طراحی مسیر حرکت به مساله طراحی یک گام حرکت تبدیل میشود. در همین راستا حرکت ربات به دو مرحله یک تکیهگاهی و دو تکیهگاهی تقسیم شده است. دراینجا رعایت پیوستگی مسیر طراحی شده درابتدا و انتهای مسیر بسیار مهم است.
مرحله یک تکیهگاهی طولانیتر از مرحله دوتکیهگاهی است و مسیر بیشتری هم در طول مرحله یک تکیهگاهی طی میشود.
درابتدا مسیر حرکت برای مچ پای چپ و راست با رعایت قیود ذکرشده انجام میشود.
4-4-1- معرفی قیود پایین تنه و کمر
فرض میکنیم P1=(X1,Z1) مچ پای چپ که درطول مرحله SSP درمبدا مختصات ثابت است و P5=(X5,Z5) مچ پای راست و P0=(Xhip,Zhip) مختصات کمررا نشان میدهد.
زمان کل حرکت را Tcمینامیم که شامل برای SSP و برای DSP است. تحت این شرایط قیود موجود عبارتند از:
(4-4)
ZMP مطلوب، متغیر و متحرک است به طوری که در طول SSP از انتهای پاشنه پای چپ تا نوک پا پیش میرود و در طول ِDSP از نوک پای چپ به پاشنه پای راست میرسد.
با در نظرگرفتن مقدار 0.25 متر برای کف پا داریم:
(4-5)
با داشتن Xhip و Zhip ، زوایای q1 ،q2 ،q3 ،q4 ، q5 و در پی آن qa از سینماتیک معکوس به دست میآیند.
قیود کمر عبارتند از:
(4-6)
از این قسمت به بعد مساله تعقیب COM به صورت کد نوشته شده است.کد مربوطه به پیوست آمده است.
تعیین Xhip و همین طور هر 5 زاویه بالا تنه به کمک الگوریتم ژنتیک انجام میشود. به طوری که قیود موجود روی Xhip و Zhip همچنین قیود موجود روی زوایای بالا تنه که درادامه ذکر میشوند به الگوریتم ژنتیک داده میشود و GA مسیر COM بهینه را ترسیم میکند.
4-4-2- قیود موجود درزوایای بالا تنه
قیود بالاتنه عمدتا ناشی از این است که باید در پایان یک گام مقادیر مطلوب به یکدیگر تبدیل شوند.
(4-7)
قیود و عینا برای و رعایت شده است.
اما نکته اصلی که موجب شد تا برای طراحی مسیر از GA استفاده شود، وجود قیود نامساوی به صورت زیر بود:
(4-8)
با اختصاص مقدار عددی بزرگ برای عبارت جریمه، الگوریتم ژنتیک به خوبی قادر است تا محدودهی مورد نظر را رعایت کند. همین طور برای زوایای q6 و q7 و q8 و q9 قیودی نامساوی وجود دارد که محدوده قابل قبول برای حرکت ربات را نشان میدهد.
4-5- فلوچارت طراحی مسیر
به طور کلی روند طراحی مسیر را میتوان با فلوچارت زیر نشان داد. قیود موجود درپاها وکمر به همراه
Robot Hip’s Constraints Robot Leg’s Constraints
Shooting method
Inverse kinematic
Genetic
algorithm
Trunk and Hand’s Plan Due to Minimizing the Error of COM Tracking
Desired
ZMP
Shooting method
Inverse kinematic
Genetic
algorithm
Trunk and Hand’s Plan Due to Minimizing the Error of COM Tracking
Desired
ZMP

شکل (4-7). مراحل طراحی مسیر
ZMP مطلوب ورودیهای الگوریتم ژنتیک را تشکیل میدهند. ZMP مطلوب با روش شوتینگ COM مطلوب را به دست میدهد (در بخش 4-5-1 میآید). الگوریتم ژنتیک ضمن رعایت قیود مقادیر مناسبی از ضرائب چندجملهای را ارائه میکند. همچنین الگوریتم ژنتیک با ایجاد تغییراتی در ضرائب چندجملهای ZMP مطلوب را نیز اصلاح مینماید.
4-5-1 ملاحظهی پایداری
از محاسبهی برایند گشتاورها حول موقعیت zmp در دو راستا روابط زیر استخراج میشود:
(4-9)
با انتخاب zmp مطلوب و گنجاندن آن در رابطه بالا با یک two boundry value problem روبرو هستیم که با روش شوتینگ خطی قابل حل است. (روش ذکر شده و کد مربوطه از کتاب Numerical Methods Using MATLAB [47] گرفته شده است ).

شکل (4-8). توصیف موقعیت مرکز جرم نسبت به zmp در دو صفحه xz و yz
بنابراین موقعیت مطلوب مرکز جرم در طول یک سیکل حرکتی به دست میآید. اگر مسیر طراحی شده منطبق بر مسیر مطلوب باشد پس zmp نیز بر zmp مطلوب منطبق خواهد بود.
4-5-2- چگونگی اعمال قیود در تشکیل تابع شایستگی
با درنظرگرفتن یک تابع چند جملهای درجه 7 برای ، q6 ، q7، q8، q9، XhipوZhip و ضمن اعمال قیود موجود، GA باید مقادیر مناسب برای ضرایب چند جملهای را تعیین کند.
مثلا درمورد داریم:
(4-10)
میزان دلخواهی است که موقعیت ابتدا و انتهای را نشان میدهد.
(4-11)
تابع شایستگی شامل سه ترم است. (تابع شایستگی همان تابع هدف است که باید مینیمم شود):
1- قدرمطلق برایند خطای COM طراحی شده و COM مطلوب درطول مسیر(COM مطلوب براساس ZMP مطلوب به دست آمده است.)
بازهی زمانی به قسمت با طول مساوی تقسیم شده است. اگر خطای COM از مقدار مطلوب در راستای x را با و در راستای z را با نشان دهیم، ترم اول تابع شایستگی را به شکل زیر تعریف میکنیم:
(4-12)
که در آن i شمارندهی هر قسمت از مسیر است.
2- حداکثرمیزان خطا
(4-13)

این نوشته در مقالات ارسال شده است. افزودن پیوند یکتا به علاقه‌مندی‌ها.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *