Mobile Robot Kinematics

Slides:



Advertisements
Similar presentations
Mobile Robot Locomotion
Advertisements

Trajectory Generation
EE631 Cooperating Autonomous Mobile Robots Lecture 5: Collision Avoidance in Dynamic Environments Prof. Yi Guo ECE Dept.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
CH24 in Robotics Handbook Presented by Wen Li Ph.D. student Texas A&M University.
The City College of New York 1 Prepared by Dr. Salah Talha Mobot: Mobile Robot Introduction to ROBOTICS.
CS 326 A: Motion Planning Coordination of Multiple Robots.
Introduction to Robotics
Probabilistic Robotics
Trajectory Week 8. Learning Outcomes By the end of week 8 session, students will trajectory of industrial robots.
CS 326 A: Motion Planning and Under-Actuated Robots.
CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)
CS 326A: Motion Planning Non-Holonomic Motion Planning.
Introduction to ROBOTICS
Feasible Trajectories for Mobile Robots with Kinematic and Environment Constraints Jean-Paul Laumond.
Mobile Robotics: 11. Kinematics 2
Mechatronics 1 Week 11. Learning Outcomes By the end of week 11 session, students will understand some sorts of mobile robot and locomotion of wheeled.
Velocities and Static Force
Definition of an Industrial Robot
Motion Control (wheeled robots)
1 CMPUT 412 Motion Control – Wheeled robots Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
Bearing and Degrees Of Freedom (DOF). If a farmer goes to milk her cows in the morning carrying a stool under one hand and a pail under another the other.
Class material vs. Lab material – Lab 2, 3 vs. 4,5, 6 BeagleBoard / TI / Digilent GoPro.
9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman.
Motion Transformation Systems Function, Components, and Use.
General Robotics Lab 4: Simple Mechanical Base Avi Siegel and Mike Shum Previous caretakers: Jason Geist, Simeon Kang Ellie Moore, Dave Lean.
Introduction to ROBOTICS
Beyond trial and error…. Establish mathematically how robot should move Kinematics: how robot will move given motor inputs Inverse-kinematics: how to.
Lecture 22 Dimitar Stefanov.
CS B659: Principles of Intelligent Robot Motion Configuration Space.
Mobile Robot Bases. Types of Mobile Robot Bases Ackerman Drive – typical car steering – non-holonomic.
Ground Robotics Reliability Center Andrew Niedert, Yazan Aljeroudi, Dr. Nassif Rayess, and Dr. Richard Hill Department of Mechanical Engineering, University.
Rotational Motion and the Law of Gravity Tangential and Centripetal Motion.
المحاضرة الخامسة. 4.1 The Position, Velocity, and Acceleration Vectors The position of a particle by its position vector r, drawn from the origin of some.
Chapter 7: Trajectory Generation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: 1.
Joint Velocity and the Jacobian
yG7s#t=15 yG7s#t=15.
DYNAMICS CONTENTS.
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Robotics Sharif In the name of Allah Robotics Sharif Introduction to Robotics o Leila Sharif o o Lecture #4: The.
Kinematics using slides from D. Lu. Goals of this class Introduce Forward Kinematics of mobile robots How Inverse Kinematics for static and mobile robots.
Copyright Howie Choset, Renata Melamud, Al Costa, Vincent Leeshue, Sean Piper, Ryan Dejonckheere. All rights reserved. Robotic Locomotion.
Control. 3 Motion Control (kinematic control) for mobile platform The objective of a kinematic controller is to follow a trajectory described by its position.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
James Irwin Amirkhosro Vosughi Mon 1-5pm
4/9/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Motion Planning Carola Wenk.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Gaits Cost of Transportation Wheeled Mobile Robots Most popular locomotion mechanism Highly efficient Simple mechanical implementation Balancing is.
Joint Velocity and the Jacobian
Chapter 2: Kinematics (1D)
Date of download: 11/10/2017 Copyright © ASME. All rights reserved.
Path Curvature Sensing Methods for a Car-like Robot
CHAPTER 2 FORWARD KINEMATIC 1.
Mobile Robot Kinematics
Locomotion of Wheeled Robots
Kinematics of Wheeled Robots
Kinematics of Wheeled Robots
Luca Baglivo, Mariolino De Cecco
Robots with four wheels
دکتر سعید شیری قیداری & فصل 2 کتاب
دکتر سعید شیری قیداری & فصل 2 کتاب
Student Feedback on Robotics in CS1 The Fleet!
Motion in 1D, Vectors and Velocity
Chap 11 – Case Studies.
Inverse Kinematics 12/30/2018.
Mobile Robot Kinematics
Department of Physics and Astronomy
Topics you need to know for this question:
Control.
CONTROL OF MOBILE ROBOT
Presentation transcript:

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

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

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

روبات های چرخدار چرخ ساده بوده و دارای بازدهی زیادی است. برای کاربردهای زیادی میتوان از چرخ استفاده نمود. داشتن فقط 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 بدست میآید.

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 Three-Wheel 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

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