Mobile robot kinematics
Download
1 / 65

Mobile Robot Kinematics - PowerPoint PPT Presentation


  • 102 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Mobile Robot Kinematics' - courtney-macdonald


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mobile robot kinematics

Amirkabir University of TechnologyComputer Engineering & Information Technology Department

Mobile Robot Kinematics

سینماتیکروباتهای متحرک

دکتر سعید شیری قیداری

& فصل 3 کتاب


مقدمه

  • سینماتیکعبارتاستازمطالعهعملکردسیستمهایمکانیکی

  • مطالعهسینماتیکروباتهایمتحرکدردوزمینهلازماست:

    • طراحیمناسبروباتبرایانجامعملموردنظر

    • نوشتننرمافزارکنترلیروباتساختهشده

  • یکاختلافمهمبینروباتمتحرکوروباتصنعتیدراندازهگیریموقعیتاست. روباتصنعتیدریکنقطهثابتاستلذامیتوانموقعیتآنرانسبتبهایننقطهثابتاندازهگرفت.


نقش چرخها

  • برایفهمحرکتروباتبایدنقشهریکازچرخهاوهمچنینمحدودیتهائیکههریکازآنهادرحرکتایجادمیکنندبررسیشود.


روبات های چرخدار

  • چرخ ساده بوده و دارای بازدهی زیادی است.

  • برای کاربردهای زیادی میتوان از چرخ استفاده نمود.

  • داشتن فقط 3 چرخ میتواند پایداری را تضمین کند. در صورت استفاده از بیش از 3 چرخ نیازمند سیستم تعلیق مناسب هستیم.

  • دغدغه های اصلی در روباتهای متحرک که از چرخ استفاده میکنند عبارتند از: قدرت کشش، قدرت مانور و نحوه کنترل


سینماتیکروباتهایمتحرک

  • سینماتیکروباتهایمتحرکشبیهبهروباتهایصنعتیاستبااینتفاوتکهروباتمتحرکمیتواندآزادانهدرمحیطحرکتنماید.

  • علاوهبرآنروشمستقیمیبرای اندازهگیریموقعیتروبات وجود نداردوموقعیترابایددرطولزمانباانتگرالگیریازحرکتهایانجامشدهبدستآورد.

  • اینکارمنجربهایجادخطادراندازهگیریخواهدشد.

  • مقابلهبااینمسئلهیکیازمباحثجدیدرروباتهایمتحرکمیباشد.

  • برایفهمحرکتروباتبایدازمحدودیتهائیکهچرخهابرسرراهحرکتایجادمیکنندشروعنمود.


نشاندادنموقعیتروبات

  • فرضمیشودکهروباتیکجسمصلبباشدکهرویچرخهاقرارگرفتهوبرروییکصفحهحرکتمیکند.

  • موقعیتروباترامیتوانبادومتغیر x,y درصفحهویکمتغیرqبراینشاندادنجهتآنمشخصنمود


نشاندادنموقعیتروبات

  • برایاینکارازدوفریممختصاتاستفادهمیشود:

    • یکیفریممختصاتمرجعو

    • دیگریفریممحلیکهبررویروباتقراردارد

    • فریممرجعبصورتزیرنشاندادنمیشود

    • فریمروباتبصورتزیرنشاندادهمیشود


نشاندادنموقعیتروبات

  • اگراختلافزاویهبینفریمروباتوفریممرجعبرابرباqبودهومبدافریمروبات (P) درنقطه x,y نسبتبهفریممرجعقرارداشتهباشددراینصورتمختصات فریمروباتنسبتبهفریممرجعبصورت زیرنشاندادهمیشود.


نشاندادنموقعیتروبات

  • برایتوصیفحرکتروباتلازماستتاحرکتدرراستایفریممرجعبهحرکتدرفریمروباتنگاشتشود.برایاینکارازماتریسدورانزیراستفادهمیشود.

  • برایمثالبرایحالتشکلقبلداریم


مدلسینماتیکمستقیم

  • هدف: اگرسرعتچرخهایروباتوابعادهندسیآنراداشتهباشیمحرکتروباتچگونهخواهدبود؟


مدلسینماتیکمستقیم

  • روباتشکلزیردارایدوچرخهریکباشعاع r بودهوباندازه l ازنقطه P کهدروسطبیندوچرخقرارداردفاصلهدارد. سرعتچرخهابرابرباf1, f2میباشد.دراینصورتمدلسینماتیکمستقیمروباتبصورتزیرخواهدبود:


مدلسینماتیکمستقیم

  • میتوانموقعیتروباتدرفریممرجعرابااستفادهازموقعیتروباتدرفریممحلیوبکاربردنرابطهزیرمحاسبهنمود.

  • برایاینکارلازماستتاتاثیرهریکازچرخهارادرفریماصلیمحاسبهنمود.


محاسبهسینماتیکمستقیم

  • برایمحاسبهحرکتروباتدرفریممرجعمیتوانتاثیرهریکازچرخهادرفریمروباترامحاسبهکردهونتیجهرابهفریممرجعمنتقلنمود.

  • اگرفرضکنیمکهروباتدرجهتمحور X درحرکتباشدسرعتحرکتنقطه P بازای چرخشهریکازچرخهابصورتزیرخواهدبود:

  • دریکروباتبادرایودیفرانسیلیمیتوانایندومولفهراباهمجمعنمود.


محاسبهسینماتیکمستقیم

  • مولفه y اینحرکتصفرخواهدبود.

  • برایمحاسبهمولفهq’درنظرداشتهباشیداگرفقطچرخراستدورانکندروباتحولچرخچپبهچرخشدرخواهدآمد. سرعتزاویهاینقطه P برابرخواهدبودبا:

  • بههمینترتیببرایچرخچپداریم

باترکیباینروابطمدلسینماتیکیروباتبصورتزیرخواهدبود:


محاسبهسینماتیکمستقیم

  • دراینرابطهمقدارماتریسدورانازرابطهزیربدستمیاید:


مثال

  • اگرروباتدرموقعیتزیرچرخهاراباسرعتهایمتفاوتیبهحرکتدرآوردخواهیمداشت:


اعمالمحدودیتها

  • روابطفوقاطلاعاتیدرموردنحوهحرکتروباتدرصورتداشتنسرعتچرخهارابدستمیدهندامادرحالتکلیعلاقمندهستیمکهفضایحرکتهایممکنبراییکروباتباطراحیمشخصرابدانیم.

  • دراینصورتبرایتوصیفحرکتروباتمجبورخواهیمبودتامحدودیتهائیکههرچرخبرحرکتاعمالمیکندرانیزدرنظربگیریم.


محدودیتهایسینماتیکیچرخها

  • فرضهائیکهبکارخواهیمبرد:

  • صفحهچرخهاهمیشهعمودیباقیخواهدماند.

  • درهرحالتیفقطیکنقطهبرخوردبینچرخوزمینوجوددارد.

  • چرخهادرنقطهکنتاکتسرنمیخورند. یعنیفقطحرکتچرخشیدارند.


چرخاستانداردثابت

  • زاویهاینچرخنسبتبهبدنهروباتثابتبودهوفقطحرکتروبهجلوویاعقبدرصفحهچرخانجاممیشود.چرخشدرنقطهبرخوردچرخبازمینصورتمی پذیرد.


چرخاستانداردثابت

  • بنابهمحدودیتغلتشمیبایستدرمحلبرخوردفقطچرخشخالصداشتهباشیم:

مولفههای x, y, q

حرکتحاصلازچرخش

مجموعحرکتدرصفحهچرخ

تبدیلازموقعیتمرجعبهموقعیتروبات


چرخاستانداردثابت

  • بنابهمحدودیتسرخوردنمیبایستمولفهعمودیموقعیتچرخهانسبتبهصفحهچرخصفرباشد:

مولفههای x, y, q

مجموعحرکتدرصفحهچرخ

تبدیلازموقعیتمرجعبهموقعیتروبات


مثال

دراینمثالسرعتدرراستای XIصفرخواهدبودیعنیهمانطورکهانتظارمیرودچرخسرنخواهدخورد


چرخاستانداردهدایتشونده

این چرخ دارای یک درجه آزادی بیشتر است ( حول یک محور عمودی می چرخد که از وسط چرخ و محل برخورد با زمین میگذرد).

معادلات حرکتی آن مشابه چرخ استاندارد است با این تفاوت که زاویه چرخ با بدنه ثابت نبوده و در طول زمان تغییر میکند.


چرخکاستور

اینچرخمیتواندحولیکمحورعمودیچرخشنماید. اینمحورازنقطهبرخوردبازمینعبورنمیکند.

اینمحدودیتمثلقبلاست

محور چرخش عمودی این چرخ از محل برخورد با زمین نمیگذرد.

محدودیت غلتشی آن مشابه چرخ ثابت است.

اما وجود افست بین محل اتصال چرخ به بدنه (A) و محور چرخش عمودی(نقطه B ) باعث میشود تا چرخ در مواجهه با هر نیروی عمودی اعمال شده به آن جهت دلخواهی را بخود بگیرد تا به حالت تعادل برسد.

دراینجایکپارامتراضافیخواهیمداشت

دوپارامترمتغیربازمانداریم:

f(t) , b(t)


چرخکاستور

  • محدودیتهایسرخوردن:

  • درنقطه A نیروهایجانبیبهچرخواردمیشوند.ازاینروباتوجهبهفاصلهبینایننقطهونقطهبرخوردمحدودیتنداشتنحرکتجانبیاشتباهخواهدبود.

  • دراینصورتهرنوعحرکتعموددرراستایصفحهچرخباگردشکاستورجبرانخواهدشد.

  • بازایهرموقعیتروباتمقداریبرایسرعتوجودخواهدداشتکهمحدودیتهایفوقبرآوردهشوند.لذاوجودچرخکاستورمحدودیتیبرایحرکتروباتنخواهدبود.


چرخسوئدی

  • این چرخ قادر به حرکت بصورت تمام جهت میباشد که در اثر افزودن یک درجه آزادی به چرخ استاندارد ایجاد شده است.

  • این درجه آزادی ناشی از غلتک ها یا چرخهای کوچکی است که در محیط چرخ اصلی و بصورت عمود بر آن و یا زاویه دار نصب شده اند.

  • با تر کیب مناسب زاویه بین محور اصلی و زاویه غلتک ها میتوان چرخ را در هر جهتی به حرکت در آورد.



چرخ کروی

  • این چرخ فاقد هر گونه محور چرخش اصلی است از اینرو هیچ گونه محدودیتی برای حرکت روبات بوجود نمی آورد.


محدودیتهای سینماتیکی روبات متحرک

  • با داشتن محدودیتهای سینماتیکی چرخها میتوان محدودیتهای سینماتیکی روبات را بدست اورد:

    • هر چرخ استاندارد یک محدودیت سینماتیکی را به روبات اعمال میکند.

    • چرخ کاستور، چرخ سوئدی و چرخهای کروی محدودیت سینماتیکی خاصی بر روی روبات اعمال نمیکنند.

  • لذا کافی است تا این محدودیت برای چرخهای استاندارد محاسبه شود.


محدودیتهای سینماتیکی روبات متحرک

  • قدرت مانور روبات با در نظر گرفتن محدودیت سینماتیکی چرخها چگونه محاسبه میشود؟

  • اگر تعداد کل چرخهای ثابت و متحرک را بصورت زیر در نظر بگیریم: N=Nf+Ns


محدودیتهای سینماتیکی روبات متحرک

موقعیت چرخشی چرخهای ثابت و متحرک حول محور افقی

  • محدودیت چرخش همه چرخها را میتوان بصورت یک ماتریس نشان داد:


محدودیتهای سینماتیکی روبات متحرک

  • به همین ترتیب محدودیت سر خوردن همه چرخها را میتوان بصورت ماتریس زیر نشان داد.


مثال: روبات دیفرانسیلی متحرک

  • با جمع کردن محدودیت های فوق بصورت یک ماتریس داریم:

  • از چرخ هرزگرد صرفنظر میشود و برای دو چرخ دیگر محدودیت های به و خلاصه میشود.

  • اگر روبات در جهت در حال حرکت باشد، برای چرخ راست داریم : و برای چپ:


مثال: روبات دیفرانسیلی متحرک

  • که با جایگرینی داریم:

  • با معکوس کردن رابطه فوق خواهیمداشت:



قابلیت مانور روبات متحرک

  • بزرگترین عاملی که قابلیت مانور روبات را محدود میکند، الزام چرخها در بر آورده کردن محدودیت سر خوردن است.

  • روبات علاوه بر حرکت سینماتیکی لحظه ای میتواند موقعیتش را در طول زمان با فرمان دادن به چرخها تغییر دهد.

  • بنابر این قدرت مانور روبات ترکیبی از محدودیت چرخهای ثابت در مقابل سرخوردن و درجه آزادی ناشی از فرمان پذیری چرخها خواهد بود.


درجه تحرک پذیری متحرک

  • محدودیت سر خوردن چرخهای ثابت و متحرک عبارت است از:

  • از لحاظ ریاضی برآوردن کرده شروط فوق مستلزم قرار گرفتن در میباشد.

  • از لحاظ گرافیکی این معنا را میتوان با استفاده از تعریف مرکز لحظه ای دوران نشان داد.


Zero motion
خط متحرکZero Motion

  • یک چرخ ثابت حول محوری میچرخد که در آن هیچ حرکتی نخواهد داشت.

  • بعبارت دیگر چرخ در هر لحظه حول دایره ای میچرخد که مرکز آن در روی این خط قرار دارد. وقتی که این نقطه در بی نهایت قرار داشته باشد چرخ در روی خط راست حرکت خواهد نمود.

  • برای روبات با بیش از یک چرخ فقط یک مرکز لحظه ای دوران خواهیمداشت که از برخورد خطوط zero Motion بدست میآید.






قدرت مانور روبات متحرک متحرک

  • عبارت است از مجموع درجات آزادی که روبات قادر به کنترل آنهاست.

  • که برابر است با درجه آزادی که روبات با تغییر سرعت چرخها بدست میآورد به اضافه درجه آزادی که از کنترل زاویه چرخها حاصل میشود.






Holonomic
روبات متحرکHolonomic

  • یک روبات هولونومیک روباتی است که محدودیت سینماتیکی غیر هولونومیکی نداشته باشد.

  • محدودیت سینماتیکی هولونومیکی به محدودیتی گفته میشود که فقط تابعی از موقعیت روبات باشد. ( فاقد عبارت مشتق باشد)

  • برای روباتی با یک چرخ ثابت این محدودیت باید فقط شامل عبارات باشد.

  • محدودیت سر خوردن

    یک محدودیت غیر هولونومیکی است زیرا تابعی از است.


مثال متحرک

  • آیا دو چرخه ای که هر دو چرخ آن ثابت شده باشند هولونومیک است؟

  • اگر فضای کاری روبات را محدود به یک خط راست بکنیم که در امتداد محور x قرار داشته باشد در نتیجه محدودیت سینماتیکی سر خوردن روبات به

  • تبدیل میشود و محدودیت غلتش را میتوان بصورت زیر نوشت:

برای چنین روباتی محدودیت ها وجود دارند اما هولونومیک هستند!


روبات تمام جهت متحرک

  • وقتی که باشد، روبات محدودیت سینماتیکی نداشته و در نتیجه برای تمامی روبات هائی که باشد میتوان روبات را روبات هولونومیک نامید.


دنبال کردن مسیر متحرک

  • قاعدتا یک روبات متحرک باید بتواند هر مسیری در فضای کاری خودش را دنبال کند. یک روبات تمام جهت از عهده این کار بر می آید زیرا Holonomic است.

  • دوچرخه ای را درنظر بگیرید که هر دو چرخ آن قابل هدایت باشد (two stear) چنین روباتی دارای قدرت مانور

    خواهد بود که با روبات هولونومیک برابر است. این روبات میتواند ICR را در هر نقطه ای قرار دهد و هر مسیری را دنبال کند. اما بین این دو روبات فرق است!


کنترل سرعت یا هدایت چرخ متحرک

  • گرچه دوچرخه با دو چرخ هدایت پذیر و روبات تمام جهت هر دو قدرت مانور بالائی دارند و هر دو میتوانند هر مسیری را دنبال کنند، اما در دنبال کردن تراجکتوری با هم تفاوت خواهند داشت.

  • برای مثال مسیری را در نظر بگیرید که روبات با سرعت 1m/s برای یک ثانیه در راستای x حرکت کرده، سپس در مدت 1 ثانیه باندازه 90 درجه تغییر جهت داده و در انتها به مدت یک ثانیه در راستای y حرکت میکند.


Path trajectory considerations omnidirectional drive
Path / Trajectory Considerations: Omnidirectional Drive متحرک

روبات تمام جهت براحتی میتواند حرکت دوم را فقط با تغییر سرعت چرخ هایش انجام دهد.


Path trajectory considerations two steer
Path / Trajectory Considerations: Two-Steer متحرک

اما دوچرخه مذکور با شتاب و سرعت محدود نمیتواد چنین مسیری را دنبال کند. زیرا مجبور است تا رسیدن جهت چرخها به جهت مورد نظر صبر کند.


Motion control
Motion Control متحرک

  • کنترل حرکت روبات غیر هولونومیک کار ساده ای نیست.

  • معمولا به دو صورت حلقه بسته یا حلقه باز انجام میشود.

  • هدف کنترلر دنبال کردن یک تراجکتوری است تا به موقعیت یا سرعت مشخص شده در زمان برسد. برای مثال: حرکت در مسیر دایره ای یا روی یک خط.


Motion control open loop control
Motion Control: Open Loop Control متحرک

  • مسیر به بخشهائی متشکل از اجزائی نظیر خط یا دایره تبدیل میشود.

  • یک مسیر هموار بر اساس اجزای فوق از قبل محاسبه شده و روبات وادار به حرکت در آن میشود.

معایب:

محاسبه یک مسیر از قبل تعیین شده کار ساده ای نیست. بخصوص اگر بخواهیم محدودیت های سینماتیک روبات را اعمال کنیم.

قادر نیست تا تغییرات پویای محیط را در نظر بگیرد.

مسیر های بدست آمده غالبا هموار نیستند.


Motion control feedback control problem statement
Motion Control: Feedback Control, Problem Statement متحرک

  • یک روش عملی تر استفاده از فیدبک موقعیت و جهت روبات است.

  • در این حالت کار کنترلر قرار دادن لحظه ای روبات بر روی یک مسیر معین است.

اگر موقعیت مرجع مختصات روبات بصورت زیر مشخص شود:

موقعیت نقطه هدف را میتوان بصورت یک مقدار خطا در نظر گرفت:


Motion control feedback control problem statement1
Motion Control: Feedback Control, Problem Statement متحرک

در اینصورت کار کنترلر عبارت است از:


مثال: کنترل روبات تفاضلی متحرک

  • مبدا مختصات کلی را طوری فرض میکنیم که نقطه هدف در نقطه (0,0) قرار گیرد.

  • در اینصورت سینماتیک روبات تفاضلی را میتوان بصورت زیر نوشت:

اگر مرکز روبات را با خطی به مقصد وصل کنیم زاویه حاصل بین این خط و محور X روبات را مینامیم


Kinematic position control coordinates transformation
Kinematic Position Control: Coordinates Transformation متحرک

با انجام یک تبدیل مختصات به مختصات قطبی خواهیم داشت:

در اینصورت مشخصات سیستم در مختصات جدید بصورت زیر خواهد بود:





بحث پایداری متحرک

  • میتوان نشان داد که با در نظر گرفتن مقادیر زیر رابطه کنترلی بدست آمده همواره پایدار خواهد بود:


ad