Mobile Robot Kinematics سینماتیک روباتهای متحرک دکتر سعید شیری قیداری کتاب 3 & فصل Amirkabir University of Technology Computer Engineering & Information Technology Department.

Download Report

Transcript Mobile Robot Kinematics سینماتیک روباتهای متحرک دکتر سعید شیری قیداری کتاب 3 & فصل Amirkabir University of Technology Computer Engineering & Information Technology Department.

Mobile Robot
Kinematics
‫سینماتیک روباتهای متحرک‬
‫دکتر سعید شیری قیداری‬
‫ کتاب‬3 ‫& فصل‬
Amirkabir University of Technology
Computer Engineering & Information Technology Department
‫مقدمه‬
‫‪‬‬
‫‪‬‬
‫سینماتیک عبارت است از مطالعه عملکرد سیستم های‬
‫مکانیکی‬
‫مطالعه سینماتیک روباتهای متحرک در دو زمینه الزم است‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫طراحی مناسب روبات برای انجام عمل مورد نظر‬
‫نوشتن نرم افزار کنترلی روبات ساخته شده‬
‫یک اختالف مهم بین روبات متحرک و روبات صنعتی در‬
‫اندازه گیری موقعیت است ‪.‬روبات صنعتی در یک نقطه ثابت‬
‫است لذا میتوان موقعیت آنرا نسبت به این نقطه ثابت اندازه‬
‫گرفت‪.‬‬
‫نقش چرخها‬
‫‪‬‬
‫برای فهم حرکت روبات باید نقش هر یک از چرخها و‬
‫همچنین محدودیت هائی که هر یک از آنها در حرکت ایجاد‬
‫میکنند بررسی شود‪.‬‬
‫روبات های چرخدار‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫چرخ ساده بوده و دارای بازدهی زیادی است‪.‬‬
‫برای کاربردهای زیادی میتوان از چرخ استفاده نمود‪.‬‬
‫داشتن فقط ‪ 3‬چرخ میتواند پایداری را تضمین کند‪ .‬در صورت‬
‫استفاده از بیش از ‪ 3‬چرخ نیازمند سیستم تعلیق مناسب هستیم‪.‬‬
‫دغدغه های اصلی در روباتهای متحرک که از چرخ استفاده‬
‫میکنند عبارتند از‪ :‬قدرت کشش‪ ،‬قدرت مانور و نحوه کنترل‬
‫سینماتیک روباتهای متحرک‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫سینماتیک روباتهای متحرک شبیه به روباتهای صنعتی است با این‬
‫تفاوت که روبات متحرک میتواند آزادانه در محیط حرکت نماید‪.‬‬
‫عالوه بر آن روش مستقیمی برا ی اندازه گیری موقعیت روبات وجود‬
‫ندارد و موقعیت را باید در طول زمان با انتگرال گیری از حرکت های‬
‫انجام شده بدست آورد‪.‬‬
‫اینکار منجر به ایجاد خطا در اندازه گیری خواهد شد‪.‬‬
‫مقابله با این مسئله یکی ازمباحث جدی در روبات های متحرک میباشد‪.‬‬
‫برای فهم حرکت روبات باید از محدودیتهائی که چرخها بر سر راه‬
‫حرکت ایجاد میکنند شروع نمود‪.‬‬
‫نشان دادن موقعیت روبات‬
‫‪‬‬
‫‪‬‬
‫فرض میشود که روبات یک جسم صلب باشد که روی چرخها‬
‫قرار گرفته و بر روی یک صفحه حرکت میکند‪.‬‬
‫موقعیت روبات را میتوان با دو متغیر ‪ x,y‬در صفحه و یک‬
‫متغیر ‪ q‬برای نشان دادن جهت آن مشخص نمود‬
‫‪x‬‬
‫‪ ‬‬
‫‪  y‬‬
‫‪ ‬‬
‫‪q ‬‬
‫نشان دادن موقعیت روبات‬
‫‪‬‬
‫برای اینکار از دو فریم مختصات استفاده میشود ‪:‬‬
‫‪‬‬
‫یکی فریم مختصات مرجع و‬
‫دیگری فریم محلی که بر روی روبات قرار دارد‬
‫‪‬‬
‫فریم مرجع بصورت زیر نشان دادن میشود‬
‫‪‬‬
‫}‪O : { X I ,Y I‬‬
‫‪‬‬
‫فریم روبات بصورت زیر نشان داده میشود‬
‫}‪, Y R‬‬
‫‪R‬‬
‫‪{X‬‬
‫نشان دادن موقعیت روبات‬
‫‪ ‬اگر اختالف زاویه بین فریم روبات و فریم مرجع برابر با ‪q‬‬
‫بوده و مبدا فریم روبات )‪ (P‬درنقطه ‪ x,y‬نسبت به فریم مرجع‬
‫قرار داشته باشد در اینصورت مختصات فریم روبات نسبت به‬
‫فریم مرجع بصورت زیر نشان داده میشود‪.‬‬
‫‪x‬‬
‫‪ ‬‬
‫‪I  y‬‬
‫‪ ‬‬
‫‪q ‬‬
‫نشان دادن موقعیت روبات‬
‫‪‬‬
‫برای توصیف حرکت روبات الزم است تا حرکت در راستای‬
‫فریم مرجع به حرکت در فریم روبات نگاشت شود‪ .‬برای‬
‫اینکار از ماتریس دوران زیر استفاده میشود‪.‬‬
‫‪ R  R (q ) I‬‬
‫‪‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫‪‬‬
‫‪1 ‬‬
‫‪ Sq‬‬
‫‪Cq‬‬
‫‪0‬‬
‫‪C q‬‬
‫‪‬‬
‫‪Rot (q )  S q‬‬
‫‪‬‬
‫‪ 0‬‬
‫برای مثال برای حالت شکل قبل داریم‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫‪‬‬
‫‪1 ‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪ 0‬‬
‫‪‬‬
‫‪Rot (  2 )   1‬‬
‫‪‬‬
‫‪ 0‬‬
‫مدل سینماتیک مستقیم‬
‫‪‬‬
‫هدف ‪:‬اگر سرعت چرخهای روبات و ابعاد هندسی آنرا‬
‫داشته باشیم حرکت روبات چگونه خواهد بود؟‬
‫مدل سینماتیک مستقیم‬
‫‪‬‬
‫روبات شکل زیر دارای دو چرخ هر یک با شعاع ‪ r‬بوده و‬
‫باندازه ‪ l‬از نقطه ‪ P‬که در وسط بین دو چرخ قرار دارد‬
‫فاصله دارد‪ .‬سرعت چرخها برابر با ‪ f1, f2‬میباشد‪ .‬در‬
‫اینصورت مدل سینماتیک مستقیم روبات بصورت زیر خواهد‬
‫بود‪:‬‬
‫‪ ‬‬
‫‪.‬‬
‫‪x‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫‪‬‬
‫‪‬‬
‫) ‪ I  y  f (l , r ,f ,f‬‬
‫‪1‬‬
‫‪2‬‬
‫‪.‬‬
‫‪q ‬‬
‫‪ ‬‬
‫‪.‬‬
‫مدل سینماتیک مستقیم‬
‫‪‬‬
‫میتوان موقعیت روبات در فریم مرجع را با استفاده از‬
‫موقعیت روبات در فریم محلی و بکار بردن رابطه زیر‬
‫محاسبه نمود‪.‬‬
‫‪.‬‬
‫‪1‬‬
‫‪.‬‬
‫‪ I  R (q )  R‬‬
‫‪‬‬
‫برای اینکارالزم است تا تاثیر هر یک از چرخها را در فریم‬
‫اصلی محاسبه نمود‪.‬‬
‫محاسبه سینماتیک مستقیم‬
‫‪‬‬
‫‪‬‬
‫برای محاسبه حرکت روبات در فریم مرجع میتوان تاثیر هر یک از‬
‫چرخها در فریم روبات را محاسبه کرده و نتیجه را به فریم مرجع منتقل‬
‫نمود‪.‬‬
‫اگر فرض کنیم که روبات در جهت محور ‪ X‬در حرکت باشد سرعت‬
‫حرکت نقطه ‪ P‬بازای چرخش هر یک از چرخها بصورت زیر خواهد‬
‫بود‪:‬‬
‫‪.‬‬
‫‪.‬‬
‫‪ (1 / 2 ) r f 2‬‬
‫‪‬‬
‫‪r2‬‬
‫‪x‬‬
‫‪.‬‬
‫‪.‬‬
‫‪ (1 / 2 ) r f 1‬‬
‫‪r1‬‬
‫‪x‬‬
‫در یک روبات با درایو دیفرانسیلی میتوان ایندو مولفه را با هم جمع‬
‫نمود‪.‬‬
‫محاسبه سینماتیک مستقیم‬
‫‪‬‬
‫‪‬‬
‫مولفه ‪ y‬این حرکت صفر خواهد بود‪.‬‬
‫برای محاسبه مولفه ’‪ q‬در نظر داشته باشید اگر فقط چرخ راست دوران‬
‫کند روبات حول چرخ چپ به چرخش در خواهد آمد‪ .‬سرعت زاویه ای‬
‫‪rf .‬‬
‫نقطه ‪ P‬برابر خواهد بود با‪:‬‬
‫‪1‬‬
‫‪‬‬
‫‪2l‬‬
‫‪‬‬
‫به همین ترتیب برای چرخ چپ داریم‬
‫‪1‬‬
‫‪‬‬
‫‪ rf .‬‬
‫‪2‬‬
‫‪2l‬‬
‫با ترکیب این روابط مدل‬
‫سینماتیکی روبات بصورت زیر‬
‫خواهد بود‪:‬‬
‫‪‬‬
‫‪2‬‬
‫‪‬‬
‫‪ rf‬‬
‫‪rf ‬‬
‫‪1‬‬
‫‪2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2 ‬‬
‫‪ 2‬‬
‫‪1‬‬
‫‪ R (q ) ‬‬
‫‪0‬‬
‫‪‬‬
‫‪ rf‬‬
‫‪ rf ‬‬
‫‪1‬‬
‫‪2‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2 l ‬‬
‫‪ 2 l‬‬
‫‪.‬‬
‫‪I‬‬
‫‪‬‬
‫محاسبه سینماتیک مستقیم‬
‫‪‬‬
‫در این رابطه مقدار ماتریس دوران از رابطه زیر بدست میاید‪:‬‬
‫‪0‬‬
‫‪‬‬
‫‪0‬‬
‫‪‬‬
‫‪1 ‬‬
‫‪ Sq‬‬
‫‪Cq‬‬
‫‪0‬‬
‫‪C q‬‬
‫‪‬‬
‫‪ Sq‬‬
‫‪‬‬
‫‪ 0‬‬
‫‪1‬‬
‫) ‪Rot (q‬‬
‫مثال‬
‫‪‬‬
‫اگر روبات در موقعیت زیر‬
‫چرخها را با سرعتهای متفاوتی‬
‫به حرکت در آورد خواهیم‬
‫داشت‪:‬‬
‫‪0  3 0 ‬‬
‫‪   ‬‬
‫‪0 0  3‬‬
‫‪   ‬‬
‫‪1   1   1 ‬‬
‫‪q   / 2 , r  1, l  1‬‬
‫‪ 4 ,f  2‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪f‬‬
‫‪.‬‬
‫‪x‬‬
‫‪0‬‬
‫‪‬‬
‫‪‬‬
‫‪.‬‬
‫‪.‬‬
‫‪‬‬
‫‪I   y  1‬‬
‫‪. ‬‬
‫‪q   0‬‬
‫‪ ‬‬
‫اعمال محدودیت ها‬
‫‪‬‬
‫‪‬‬
‫روابط فوق اطالعاتی در مورد نحوه حرکت روبات در‬
‫صورت داشتن سرعت چرخها را بدست میدهند اما در حالت‬
‫کلی عالقمند هستیم که فضای حرکت های ممکن برای یک‬
‫روبات با طراحی مشخص را بدانیم‪.‬‬
‫در اینصورت برای توصیف حرکت روبات مجبور خواهیم‬
‫بود تا محدودیت هائی که هر چرخ بر حرکت اعمال میکند را‬
‫نیز در نظر بگیریم‪.‬‬
‫محدودیت های سینماتیکی چرخها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرضهائی که بکار‬
‫خواهیم برد‪:‬‬
‫صفحه چرخها همیشه‬
‫عمودی باقی خواهد ماند‪.‬‬
‫در هر حالتی فقط یک‬
‫نقطه برخورد بین چرخ‬
‫و زمین وجود دارد‪.‬‬
‫چرخها در نقطه کنتاکت‬
‫سر نمیخورند‪ .‬یعنی فقط‬
‫حرکت چرخشی دارند‪.‬‬
‫چرخ استاندارد ثابت‬
‫‪‬‬
‫زاویه این چرخ نسبت به بدنه روبات ثابت بوده و فقط حرکت‬
‫رو به جلو و یاعقب در صفحه چرخ انجام میشود‪ .‬چرخش در‬
‫نقطه برخورد چرخ با زمین صورت می پذیرد‪.‬‬
‫چرخ استاندارد ثابت‬
‫‪‬‬
‫بنا به محدودیت غلتش میبایست در محل برخورد فقط چرخش‬
‫خالص داشته باشیم‪:‬‬
‫حرکت حاصل از چرخش‬
‫تبدیل از موقعیت مرجع به موقعیت روبات‬
‫مولفه های ‪x, y, q‬‬
‫مجموع حرکت در صفحه چرخ‬
‫چرخ استاندارد ثابت‬
‫‪‬‬
‫بنا به محدودیت سر خوردن میبایست مولفه عمودی موقعیت‬
‫چرخها نسبت به صفحه چرخ صفر باشد‪:‬‬
‫مولفه های ‪x, y, q‬‬
‫تبدیل از موقعیت مرجع به موقعیت روبات‬
‫مجموع حرکت در صفحه چرخ‬
‫مثال‬
‫در این مثال سرعت در راستای ‪ XI‬صفر خواهد بود یعنی همانطور که انتظار میرود چرخ سر نخواهد خورد‬
‫چرخ استاندارد هدایت شونده‬
‫این چرخ دارای یک درجه آزادی بیشتر است ( حول یک محور عمودی می‬
‫چرخد که از وسط چرخ و محل برخورد با زمین میگذرد)‪.‬‬
‫معادالت حرکتی آن مشابه چرخ استاندارد است با این تفاوت که زاویه چرخ با‬
‫بدنه ثابت نبوده و در طول زمان تغییر میکند‪.‬‬
‫چرخ کاستور‬
‫این چرخ میتواند حول یک محور عمودی چرخش نماید ‪.‬این محور از نقطه برخورد با‬
‫زمین عبور نمیکند‪.‬‬
‫این محدودیت مثل قبل است‬
‫محور چرخش عمودی این چرخ از محل‬
‫برخورد با زمین نمیگذرد‪.‬‬
‫محدودیت غلتشی آن مشابه چرخ ثابت‬
‫است‪.‬‬
‫اما وجود افست بین محل اتصال چرخ‬
‫به بدنه (‪ )A‬و محور چرخش‬
‫عمودی(نقطه ‪ ) B‬باعث میشود تا‬
‫چرخ در مواجهه با هر نیروی عمودی‬
‫اعمال شده به آن جهت دلخواهی را‬
‫بخود بگیرد تا به حالت تعادل برسد‪.‬‬
‫دو پارامتر متغیر با زمان‬
‫داریم‪:‬‬
‫)‪f(t) , b(t‬‬
‫در اینجا یک پارامتر اضافی‬
‫خواهیم داشت‬
‫چرخ کاستور‬
‫‪‬‬
‫محدودیت های سر خوردن‪:‬‬
‫در نقطه ‪ A‬نیروهای جانبی به چرخ وارد میشوند‪ .‬از اینرو با توجه به‬
‫فاصله بین این نقطه و نقطه برخورد محدودیت نداشتن حرکت جانبی‬
‫اشتباه خواهد بود‪.‬‬
‫در اینصورت هر نوع حرکت عمود در راستای صفحه چرخ با گردش‬
‫کاستور جبران خواهد شد‪.‬‬
‫‪‬‬
‫بازای هر موقعیت روبات مقداری برای سرعت وجود خواهد داشت که‬
‫محدودیت های فوق بر آورده شوند‪ .‬لذا وجود چرخ کاستور محدودیتی‬
‫برای حرکت روبات نخواهد بود‪.‬‬
‫‪‬‬
‫‪‬‬
‫چرخ سوئدی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫این چرخ قادر به حرکت بصورت تمام جهت میباشد که در اثر‬
‫افزودن یک درجه آزادی به چرخ استاندارد ایجاد شده است‪.‬‬
‫این درجه آزادی ناشی از غلتک ها یا چرخهای کوچکی است‬
‫که در محیط چرخ اصلی و بصورت عمود بر آن و یا زاویه‬
‫دار نصب شده اند‪.‬‬
‫با تر کیب مناسب زاویه بین محور اصلی و زاویه غلتک ها‬
‫میتوان چرخ را در هر جهتی به حرکت در آورد‪.‬‬
‫چرخ سوئدی‬
‫چرخ کروی‬
‫‪‬‬
‫این چرخ فاقد هر گونه محور چرخش اصلی است از اینرو‬
‫هیچ گونه محدودیتی برای حرکت روبات بوجود نمی آورد‪.‬‬
‫محدودیتهای سینماتیکی روبات متحرک‬
‫‪‬‬
‫با داشتن محدودیتهای سینماتیکی چرخها میتوان محدودیتهای‬
‫سینماتیکی روبات را بدست اورد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر چرخ استاندارد یک محدودیت سینماتیکی را به روبات اعمال‬
‫میکند‪.‬‬
‫چرخ کاستور‪ ،‬چرخ سوئدی و چرخهای کروی محدودیت سینماتیکی‬
‫خاصی بر روی روبات اعمال نمیکنند‪.‬‬
‫لذا کافی است تا این محدودیت برای چرخهای استاندارد محاسبه‬
‫شود‪.‬‬
‫محدودیتهای سینماتیکی روبات متحرک‬
‫‪‬‬
‫‪‬‬
‫قدرت مانور روبات با در نظر گرفتن محدودیت سینماتیکی‬
‫چرخها چگونه محاسبه میشود؟‬
‫اگر تعداد کل چرخهای ثابت و متحرک را بصورت زیر در‬
‫نظر بگیریم‪N=Nf+Ns :‬‬
‫محدودیتهای سینماتیکی روبات متحرک‬
‫موقعیت چرخشی چرخهای ثابت و متحرک حول محور افقی‬
‫‪‬‬
‫محدودیت چرخش همه چرخها را میتوان بصورت یک ماتریس‬
‫نشان داد‪:‬‬
‫محدودیتهای سینماتیکی روبات متحرک‬
‫‪‬‬
‫به همین ترتیب محدودیت سر خوردن همه چرخها را میتوان‬
‫بصورت ماتریس زیر نشان داد‪.‬‬
‫مثال‪ :‬روبات دیفرانسیلی‬
‫‪‬‬
‫با جمع کردن محدودیت های فوق بصورت یک ماتریس داریم‪:‬‬
‫‪‬‬
‫از چرخ هرزگرد صرفنظر میشود و برای دو چرخ دیگر‬
‫خالصه‬
‫و‬
‫به‬
‫محدودیت های‬
‫میشود‪.‬‬
‫اگر روبات در جهت در حال حرکت باشد‪ ،‬برای چرخ‬
‫و برای چپ‪:‬‬
‫راست داریم ‪:‬‬
‫‪‬‬
‫مثال‪ :‬روبات دیفرانسیلی‬
‫‪‬‬
‫که با جایگرینی داریم‪:‬‬
‫‪‬‬
‫با معکوس کردن رابطه فوق خواهیمداشت‪:‬‬
‫مثال‪ :‬روبات تمام جهت‬
‫قابلیت مانور روبات‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بزرگترین عاملی که قابلیت مانور روبات را محدود میکند‪،‬‬
‫الزام چرخها در بر آورده کردن محدودیت سر خوردن است‪.‬‬
‫روبات عالوه بر حرکت سینماتیکی لحظه ای میتواند موقعیتش‬
‫را در طول زمان با فرمان دادن به چرخها تغییر دهد‪.‬‬
‫بنابر این قدرت مانور روبات ترکیبی از محدودیت چرخهای‬
‫ثابت در مقابل سرخوردن و درجه آزادی ناشی از فرمان پذیری‬
‫چرخها خواهد بود‪.‬‬
‫درجه تحرک پذیری‬
‫‪‬‬
‫محدودیت سر خوردن چرخهای ثابت و متحرک عبارت است‬
‫از‪:‬‬
‫‪‬‬
‫از لحاظ ریاضی برآوردن کرده شروط فوق مستلزم قرار‬
‫در‬
‫گرفتن‬
‫میباشد‪.‬‬
‫از لحاظ گرافیکی این معنا را میتوان با استفاده از تعریف مرکز‬
‫لحظه ای دوران نشان داد‪.‬‬
‫‪‬‬
‫خط ‪Zero Motion‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫یک چرخ ثابت حول محوری میچرخد که در آن‬
‫هیچ حرکتی نخواهد داشت‪.‬‬
‫بعبارت دیگر چرخ در هر لحظه حول دایره ای‬
‫میچرخد که مرکز آن در روی این خط قرار دارد‪.‬‬
‫وقتی که این نقطه در بی نهایت قرار داشته باشد‬
‫چرخ در روی خط راست حرکت خواهد نمود‪.‬‬
‫برای روبات با بیش از یک چرخ فقط یک مرکز‬
‫لحظه ای دوران خواهیمداشت که از برخورد‬
‫خطوط ‪ zero Motion‬بدست میآید‪.‬‬
Instantaneous Center of
Rotation
Mobile Robot Maneuverability:
More on Degree of Mobility
Mobile Robot Maneuverability:
Degree of Steerability
Mobile Robot Maneuverability:
Robot Maneuverability
‫قدرت مانور روبات متحرک‬
‫‪‬‬
‫‪‬‬
‫عبارت است از مجموع درجات آزادی که روبات قادر به‬
‫کنترل آنهاست‪.‬‬
‫که برابر است با درجه آزادی که روبات با تغییر سرعت‬
‫چرخها بدست میآورد به اضافه درجه آزادی که از کنترل زاویه‬
‫چرخها حاصل میشود‪.‬‬
Mobile Robot Maneuverability:
Wheel Configurations
Five Basic Types of ThreeWheel Configurations
Mobile Robot Workspace:
Degrees of Freedom
Mobile Robot Workspace: Degrees
of Freedom, Holonomy
‫روبات ‪Holonomic‬‬
‫‪ ‬یک روبات هولونومیک روباتی است که محدودیت سینماتیکی‬
‫غیر هولونومیکی نداشته باشد‪.‬‬
‫‪ ‬محدودیت سینماتیکی هولونومیکی به محدودیتی گفته میشود که‬
‫فقط تابعی از موقعیت روبات باشد‪ ( .‬فاقد عبارت مشتق باشد)‬
‫‪ ‬برای روباتی با یک چرخ ثابت این محدودیت باید فقط شامل‬
‫باشد‪.‬‬
‫عبارات‬
‫‪ ‬محدودیت سر خوردن‬
‫یک محدودیت غیر هولونومیکی است زیرا تابعی از است‪.‬‬
‫مثال‬
‫‪‬‬
‫آیا دو چرخه ای که هر دو چرخ آن ثابت شده باشند‬
‫هولونومیک است؟‬
‫‪ ‬اگر فضای کاری روبات را محدود به یک خط راست‬
‫بکنیم که در امتداد محور ‪ x‬قرار داشته باشد در نتیجه‬
‫محدودیت سینماتیکی سر خوردن روبات به‬
‫تبدیل میشود و محدودیت غلتش را میتوان بصورت زیر‬
‫نوشت‪:‬‬
‫برای چنین روباتی محدودیت ها وجود دارند اما هولونومیک هستند!‬
‫روبات تمام جهت‬
‫‪‬‬
‫باشد‪ ،‬روبات محدودیت سینماتیکی‬
‫وقتی که‬
‫باشد‬
‫نداشته و در نتیجه برای تمامی روبات هائی که‬
‫میتوان روبات را روبات هولونومیک نامید‪.‬‬
‫دنبال کردن مسیر‬
‫‪‬‬
‫‪‬‬
‫قاعدتا یک روبات متحرک باید بتواند هر مسیری در فضای‬
‫کاری خودش را دنبال کند‪ .‬یک روبات تمام جهت از عهده این‬
‫کار بر می آید زیرا ‪ Holonomic‬است‪.‬‬
‫دوچرخه ای را درنظر بگیرید که هر دو چرخ آن قابل هدایت‬
‫باشد )‪ (two stear‬چنین روباتی دارای قدرت مانور‬
‫خواهد بود که با روبات هولونومیک برابر است‪ .‬این روبات‬
‫میتواند ‪ ICR‬را در هر نقطه ای قرار دهد و هر مسیری را‬
‫دنبال کند‪ .‬اما بین این دو روبات فرق است!‬
‫کنترل سرعت یا هدایت چرخ‬
‫‪‬‬
‫‪‬‬
‫گرچه دوچرخه با دو چرخ هدایت پذیر و روبات تمام جهت هر‬
‫دو قدرت مانور باالئی دارند و هر دو میتوانند هر مسیری را‬
‫دنبال کنند‪ ،‬اما در دنبال کردن تراجکتوری با هم تفاوت خواهند‬
‫داشت‪.‬‬
‫برای مثال مسیری را در نظر بگیرید که روبات با سرعت‬
‫‪ 1m/s‬برای یک ثانیه در راستای ‪ x‬حرکت کرده‪ ،‬سپس در‬
‫مدت ‪ 1‬ثانیه باندازه ‪ 90‬درجه تغییر جهت داده و در انتها به‬
‫مدت یک ثانیه در راستای ‪ y‬حرکت میکند‪.‬‬
‫‪Path / Trajectory Considerations:‬‬
‫‪Omnidirectional Drive‬‬
‫روبات تمام جهت براحتی میتواند حرکت دوم را فقط با تغییر سرعت چرخ هایش انجام دهد‪.‬‬
‫‪Path / Trajectory‬‬
‫‪Considerations: Two-Steer‬‬
‫اما دوچرخه مذکور با شتاب و سرعت محدود نمیتواد چنین مسیری را دنبال کند‪ .‬زیرا مجبور است تا رسیدن جهت‬
‫چرخها به جهت مورد نظر صبر کند‪.‬‬
‫‪Motion Control‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫کنترل حرکت روبات غیر هولونومیک کار ساده ای نیست‪.‬‬
‫معموال به دو صورت حلقه بسته یا حلقه باز انجام میشود‪.‬‬
‫هدف کنترلر دنبال کردن یک تراجکتوری است تا به موقعیت‬
‫یا سرعت مشخص شده در زمان برسد‪ .‬برای مثال‪ :‬حرکت در‬
‫مسیر دایره ای یا روی یک خط‪.‬‬
‫‪Motion Control: Open Loop‬‬
‫‪Control‬‬
‫‪‬‬
‫‪‬‬
‫مسیر به بخشهائی متشکل از اجزائی نظیر خط یا دایره تبدیل‬
‫میشود‪.‬‬
‫یک مسیر هموار بر اساس اجزای فوق از قبل محاسبه شده و‬
‫روبات وادار به حرکت در آن میشود‪.‬‬
‫معایب‪:‬‬
‫محاسبه یک مسیر از قبل تعیین شده کار ساده ای نیست‪.‬‬
‫بخصوص اگر بخواهیم محدودیت های سینماتیک روبات‬
‫را اعمال کنیم‪.‬‬
‫قادر نیست تا تغییرات پویای محیط را در نظر بگیرد‪.‬‬
‫مسیر های بدست آمده غالبا هموار نیستند‪.‬‬
‫‪Motion Control: Feedback‬‬
‫‪Control, Problem Statement‬‬
‫‪‬‬
‫‪‬‬
‫یک روش عملی تر استفاده از فیدبک موقعیت و جهت روبات‬
‫است‪.‬‬
‫در این حالت کار کنترلر قرار دادن لحظه ای روبات بر روی‬
‫یک مسیر معین است‪.‬‬
‫اگر موقعیت مرجع مختصات روبات بصورت‬
‫زیر مشخص شود‪:‬‬
‫موقعیت نقطه هدف را میتوان بصورت یک‬
‫مقدار خطا در نظر گرفت‪:‬‬
Motion Control: Feedback
Control, Problem Statement
:‫در اینصورت کار کنترلر عبارت است از‬
‫مثال‪ :‬کنترل روبات تفاضلی‬
‫‪‬‬
‫‪‬‬
‫مبدا مختصات کلی را طوری فرض میکنیم که نقطه هدف در‬
‫نقطه )‪ (0,0‬قرار گیرد‪.‬‬
‫در اینصورت سینماتیک روبات تفاضلی را میتوان بصورت‬
‫زیر نوشت‪:‬‬
‫اگر مرکز روبات را با خطی به مقصد وصل‬
‫کنیم زاویه حاصل بین این خط و محور ‪X‬‬
‫روبات را مینامیم‬
‫‪Kinematic Position Control:‬‬
‫‪Coordinates Transformation‬‬
‫با انجام یک تبدیل مختصات به مختصات قطبی خواهیم داشت‪:‬‬
‫در اینصورت مشخصات سیستم در مختصات جدید بصورت زیر خواهد بود‪:‬‬
Kinematic Position Control:
Remarks
Kinematic Position Control:
The Control Law
Kinematic Position Control:
Resulting Path
‫بحث پایداری‬
‫‪‬‬
‫میتوان نشان داد که با در نظر گرفتن مقادیر زیر رابطه کنترلی‬
‫بدست آمده همواره پایدار خواهد بود‪:‬‬