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
بحث پایداری
میتوان نشان داد که با در نظر گرفتن مقادیر زیر رابطه کنترلی
بدست آمده همواره پایدار خواهد بود: