دانشگاه صنعتی خواجه نصیرالدین طوسی
دانشکدۀ مهندسی مکانیک
پایان نامۀ کارشناسی ارشد
عنوان:
کنترل ربات دو پا در حال جابجایی جسم به وسیله الگوریتم امپدانس چندگانه
استاد راهنما:
دکتر سید علی اکبر موسویان
نگارش:
سید محمد جواد حسینی
مهر 1388
دانشگاه صنعتی خواجه نصیرالدین طوسی
دانشکده مهندسی مکانیک
هیئت داوران پس از مطالعه پایان نامه و شرکت در جلسه دفاع از پایان نامه تهیه شده
تحت عنوان:
کنترل ربات دو پا در حال جابجایی جسم به وسیله الگوریتم امپدانس چندگانه
توسط سید محمد جواد حسینی صحت و کفایت تحقیق انجام شده را برای اخذ درجه کارشناسی ارشد در رشته مکانیک گرایش طراحی کاربردی مورد تایید قرار می دهد.
1- استاد راهنما: آقای دکتر سید علی اکبر موسویان
2- استاد راهنما: آقای دکتر
3- ممتحن داخلی آقای دکتر علی غفاری
4- ممتحن داخلی آقای دکتر سید حسین ساداتی
5- نماینده تحصیلات تکمیلی دانشکده: آقای دکتر سید حسین ساداتی
چکیده
آنچه پیش روی شماست، تحقیقی پیرامون نحوهی پیادهسازی الگوریتم کنترلی امپدانس چندگانه در رباتهای دوپاست. روش کنترلی امپدانسی و در راًس آنها امپدانس چندگانه کاملترین روشهای کنترلی تئوریک به منظور ایجاد تعامل مناسب میان ربات و محیط اطراف به خصوص در انجام کارهای مشارکتی توسط دو یا چند بازوی کارگر به شمار میروند. پیش از این و به منظور بسط روش امپدانس چندگانه، پیادهسازی آن در مدل ربات فضائی مورد توجه قرار گرفته و نتایج آن که موًید روش کنترلی به کار رفته بودهاند، منتشر شده است. این پروژه نیز در همین راستا و با هدف گسترش به کارگیری این روش در رباتهای دوپا تعریف و انجام شده است.
در ابتدا و با هدف سادهسازی، مدل ربات در صفحه استخراج شده و پس از صحهگذاری روش کنترلی مدلمینا روی آن پیادهسازی شده است. سپس مدل سهبعدی ربات استخراج و صحهگذاری آن به کمک جعبهابزار SimMechanics در نرمافزار MATLAB انجام شده است. پس از طراحی مسیر پایدار، شبیهسازی اعمال روش کنترلی مدلمبنا و الگوریتم کنترلی امپدانس چندگانه روی ربات به کمک جعبهابزار SimMechanics انجام شده است.

1-1-مقدمه
در این فصل به تحقیقات صورت گرفته در زمینهی رباتهای دوپا پرداخته میشود. اینکه چگونه مدل دو درجه آزادی Golliday وHemami[1] در سال 1976 به مدلهائی کاملتر و روشهای کنترل نیرو یا موقعیت به الگوریتمهای امپدانسی تبدیل شدهاند، مورد بحث قرار میگیرد. دیدگاه بهینهسازی و روشهای کنترل هوشمند به صورت خلاصه آورده شدهاند. سپس به نمونههائی از رباتهای دوپا که تاکنون ساخته شدهاند میپردازیم. در انتها هدف از انجام پروژه معرفی شده و مساًلهای را که به آن پرداختهایم تعریف میکنیم.

1-2-تلاشهای اولیه
اولین تلاشها برای شناخت دینامیک رباتهای دوپا جهت کنترل آنها به دهه 70 باز میگردد. در سال 1976 Golliday وHemami، از فیدبک1 خطی جهت پایدارسازی مدل دو درجه آزادی و تعیین موقعیت قطبها جهت تحمیل مشخصات مطلوب به سیستم استفاده نمود. فیدبک خطی به طور کلی شامل فیدبک کردن تمام متغیرهای حالت به تمام عملگرها در سیستم است. در همین سال Hemami وCamana[2]، پایدارسازی ایستادن و حرکت پریودیک را با استفاده از فیدبک غیرخطی ارائه نمودند. پس از آن Hemami وCvetkovic[3]، با ترکیبی از فیدبکهای خطی و غیرخطی ناحیه بزرگتری از پایداری را به وجود آورد. عدم وجود مدلهای با درجات آزادی بالاتر که شباهت بیشتری به انسان داشته باشند Golliday وHemami[4]، را بر آن داشت تا با در نظر گرفتن یک مدل سهدرجه آزادی و با استفاده از تکنیکهای شناخته شده تا آن زمان روابط مورد نیاز برای کنترل مدل بدون زانوی خود را استخراج نمایند. آنها ابتدا به وسیله معادلات لاگرانژ دینامیک سیستم را شناختند و پس از خطیسازی روابط را به فرم معادلات حالت درآوردند تا روی پایداری، کنترلپذیری و مشاهدهپذیری سیستم مطالعه نمایند. در کنترلر، فیدبک چند متغیره برای دیکوپله کردن معادلات دینامیک رسته 6 به سیستمهایی جدا و با رسته 2 اعمال شد. این عمل نقش عمدهای در سادهسازی طراحی کنترلر دارد. در بخش بعدی با اعمال فیدبک حرکتی با طول گام و سرعتی مشابه انسان تولید نمودند.
Hemami و همکاران [5]، آزمایشاتی روی مدلهايي از مجاري نيمدايره و اتوليت2ها که به وسيله 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] ، یک الگوریتم یادگیری بر اساس کنترلر نوروفازی3 را معرفی کرد. این الگوریتم می تواند محدودیتها و شرایط مختلف از جمله طول گام و سرعت راه رفتن را به طور کامل ارضا نماید. الگوریتم ژنتیک4 به صورت موثری در مفاهیم شبکههای عصبی در رباتها به کار گرفته شده است.Nagasaka و همکاران [22]، در ربات 16 درجه آزادی خود که هدایت بصری داشت، از یک کنترلر نوروژنتیک5 استفاده کردند. آموزش حرکت چرخشی پا (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 انجام شده، آمده است.
در فصل ششم و پایانی نتیجهگیری نهائی به همراه پیشنهاداتی برای مطالعات آینده آمده است.

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



قیمت: تومان

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

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