دانلود پایان نامه

رفتن تاثیر مستقیم دارند اما برخی دیگر از مفاصل در راه رفتن مناسب و بهتر تاثیر گذارند. اما در روباتهای انساننما به علت پیچیدگی زیاد به ناچار از تعدادی از مفاصل در هنگام راه رفتن صرف نظر میشود. این کار به ما کمک میکند که بر پیچیدگیهای محاسباتی غلبه کنیم و مدلی قابل استفاده را پیادهسازی کنیم. مهمترین مفاصل بدن برای راه رفتن مفاصل شماره سه، چهار و پنج پا هستند که به کنترل پا در حین راه رفتن کمک میکنند. این مفاصل کار بلند کردن پا و بر زمین گذاشتن آن را انجام میدهند. نکات مهمی درباره این چند مفصل وجود دارند که به تحلیل آنها کمک میکند، اولین نکته درباره مفصل زانو (مفصل شماره 4) این است که حرکت این مفصل همواره در جهت منفی است، و نسبت به حالت صاف بالاتر نمیآید. نکته دیگر این است که در راه رفتن معمولا کف پا را موازی زمین در نظر میگیرند که به این ترتیب میتوان گفت مجموع این سه مفصل برابر صفر میباشد. پس به این ترتیب با بدست آوردن مقدار دو مفصل سومی نیز بدست میآید سایر مفاصل پا نیز در راه رفتن تاثیر گذارند و این در حالیست که بسیاری از مدلهای معرفی شده برای راه رفتن از آنها صرف نظر کردهاند و این اتفاق به منظور کاهش پیچیدگی و قابل اجرا بودن الگوریتمها رخ داده است. با این وجود توجه به این نکته ضروری است که اعمال روش راه رفتن به تمامی مفاصل پا و درگیر کردن تمامی آنها در راه رفتن میتواند به افزایش انعطاف پذیری در راه رفتن کمک کند. این در حالیست که دخیل نمودن تمامی مفاصل در راه رفتن باعث پیچیدگی مدل و افزایش شدید بار محاسباتی مربوط به الگوریتم خواهد شد.

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

حرکتشناسی در پایهای ترین حالت به روباتهای صنعتی و بازوهای روباتیک مربوط میشود که هدف از آن تنظیم مفاصل لینکهای یک بازوی روباتیک به منظور هدفی خاص است. همانطور که قبلا توضیح داده شد یک روبات صنعتی دارای بخشهای مختلفی است که از جمله میتوان به پایه روبات و عملگر انتهایی آن اشاره کرد. حرکتشناسی معکوس به تنظیم مفاصل بر اساس مکان عملگر انتهایی میپردازد که این ایده را میتوان با در نظر گرفتن شرایط روباتهای انسان نما برای راه رفتن از بغل مورد استفاده قرار داد. در این بخش ابتدا به معرفی روشهای معمول در حرکتشناسی و چگونگی حل مسئله توسط آنها میپردازیم و سپس اعمال آن بر روی روبات نائو به منظور راه رفتن از بغل را بررسی خواهیم کرد.

3-3-1- حرکتشناسی مستقیم
بازوی روباتیک و یا روبات صنعتی از تعدادی اتصال صلب (link) تشکیل میشودکه توسط مفاصل (joints) به هم متصل میشوند. مفصل ها ممکن است چرخشی و یا رفت و برگشتی (لغزشی) باشند برای حرکت روبات از موتور و یا سیستم هیدرولیک استفاده میشود. در انتهای روبات یک ابزار قرار میگیرد که بر روی صفحه ای در مچ روبات نصب میشود. هدف از حل مسئله حرکتشناسی مستقیم، بدست آوردن مکان نهایی عملگر انتهایی روبات با توجه به مقادیر مفاصل روبات است. برای این کار چارچوبهای مختصاتی به هر بخش از مکانیزم روبات وصل شده و سپس ارتباط بین این محورها بیان میشود (شکل3-2).

شکل 3-2 : اتصال محورهای مختصات به یک بازوی روباتیک

در ساده ترین حالت میتوان روباتی تک مفصلی با دو اتصال را در نظر گرفت، به این ترتیب که عملگر انتهایی را نقطهای مانند p روی اتصال انتهایی در نظر میگیریم. با در نظر گرفتن این نکته که مفصل از نوع چرخشی است قصد داریم مختصات نقطه p پس از چرخش نسبت به پایه روبات بدست آوریم. در اینجا دو محور مختصات داریم، یکی برای لینک ثابت F=[f1,f2,f3]و دیگری برای لینک متحرکM=[m1,m2,m3] . در حقیقت محور M به همراه چرخش لینک و حرکت آن حرکت میکند. هدف این است که مختصات p را پس از جابجایی نسبت به محور ثابت F بدست آوریم در حالیکه مختصات آن نسبت به M را داریم. معادلات زیر مختصات p نسبت به هر دو چارچوب مختصات را نشان میدهد:

[p] M =[p.m1, p.m2, p.m3] 3-1
[p] F =[p.f1, p.f2, p.f3] 3-2

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

[p] F = A [p] M 3-3
اعضای ماتریس تبدیل A از ضرب داخلی محورها در هم به دست میآید:
Akj= fk .mj 3-4
حالت تعمیم یافته این مسئله زمانی است که روباتی با چند مفصل لغزشی و چرخشی داریم. روبات صنعتی اسکارا نمونهای از چنین روباتی است(شکل3-3). این روبات دارای سه مفصل است، یک مفصل لغزشی و دو مفصل چرخشی. به طور کلی در چنین مواردی از یک دستگاه مختصات همگن استفاده میشود به نحوی که ماتریس تبدیل حاصل بتواند همزمان چرخش و لغزش را مدل کند. به این ترتیب یک ماتریس تبدیل T به صورت معادله 3-5 بدست میآید.
T=[R¦0 P¦σ ] 3-5
در معادله فوق، R ماتریسی 3×3 برای چرخش، p ماتریسی 1×3 برای انتقال و σ نیز ثابت و برابر یک است. در این ماتریس در زمانی که تنها لغزش داشته باشیم، R به ماتریسی همانی تبدیل میشود و زمانی که تنها چرخش انجام شود، P را صفر در نظر میگیریم. در حالت چرخش بسته به اینکه چرخش حول کدام محور انجام شود، مطابق شکل 4-3 سه حالت ممکن وجود خواهد داشت. در صورتی که چرخش حول f1 رخ دهد آن را yaw میگوییم، چنانچه چرخش حول f2 رخ دهد آن را pitch و چرخش حول f3 را roll
میگوییم.

شکل 3-3 : روبات صنعتی اسکارا

در حالاتی که چندین مفصل وجود دارند به ترتیب قبل باید روی هر یک، یک محور مختصات سوار کنیم که در این حالت هدف بدست آوردن ماتریس تبدیل کلی یعنی تبدیل نقطه ای در آخرین محور نسبت به اولین محور است. شیوه کار به این صورت است که ماتریس تبدیل برای هر محور را نسبت به محور قبلی بدست میآوریم .(T_(k-1)^k) و تمامی ماتریسهای تبدیل را به ترتیب در هم ضرب میکنیم تا ماتریس تبدیل کلی به دست آید:

T_0^n=T_0^1 T_1^2….T_(n-2)^(n-1) T_(n-1)^n 3-6

رابطه بالا را میتوان به این صورت تفسیر کرد که تبدیل هر نقطه نسبت به پایه را میتوان از ترکیب تمامی تبدیلها از ابتدا تا انتها بدست آورد که این ترکیب توسط ضرب بین ماتریسهای تبدیل صورت میگیرد.

شکل 3-4 : چرخشهای مهم در فضای R3

به این ترتیب میتوان با استفاده از حرکتشناسی مستقیم، با داشتن مقادیر مربوط به چند مفصل متوالی، مکان نهایی را بدست آورد.

3-3-2- حرکتشناسی معکوس
بحث حرکتشناسی معکوس ذاتا دشوارتر از حرکتشناسی مستقیم است زیرا معادلات بدست آمده از آن غیرخطی هستند و از اینرو همیشه راه حل سیستماتیکی برای حل آنها جود ندارد. همچنین در اکثر موارد راه حل بدست آمده منحصر بفرد نیست و راه حل بستگی به مشخصات روبات دارد. در واقعیت، بیشتر اوقات با مساله حرکتشناسی معکوس مواجه هستیم زیرا معمولا نقطه نهایی مشخص است، و رسیدن به آن نقطه اهمیت دارد و نحوه رسیدن به آن.
برای اعمال سینماتیک معکوس بر روی روبات در ابتدا پارامترهای مفصل بندی روبات نائو را در مدل خود مطابق جدول3-2 مقدار دهی اولیه میکنیم و به این ترتیب ربات برای اعمال الگوریتم آماده میشود.
جدول 2-2: مقدار دهی اولیه پارامترهای روبات
Body part
Hinge Joint
Name
Parent
Translation
Mass
Geometry
Name
Anchor
Axis
Min
Max
torso

این مطلب رو هم توصیه می کنم بخونین:   مقاله با موضوعهوش مصنوعی، شبیه سازی، فوتبالیست، یادگیری ماشین

1.2171
Box
0.100, 0.100, 0.180

neck
torso
0, 0, 0.090
0.05
Cylinder
L: 0.080 R: 0.015
HJ1
0, 0, 0
0,0,1
-120
120
head
neck
0, 0, 0.065
0.35
Sphere
0.065
HJ2
0, 0, -0.005
1,0,0
-45
45
shoulder
torso
0.098, 0, 0.075(r)
-0.098, 0, 0.075(l)
0.07
Sphere
0.010
AJ1
0, 0, 0
1,0,0
-120
120
upper arm
shoulder
0.010, 0.020, 0(r)
-0.010, 0.020, 0(l)
0.15
Box
0.07, 0.08, 0.06
AJ2
-Translation
0,0,1
-95(r)
-1(l)
1(r)
95(l)
elbow
upper arm
-0.010, 0.070, 0.009(r)
0.010, 0.070, 0.009(l)
0.035
Sphere
0.010
AJ3
0, 0, 0
0,1,0
-120
120
lower arm
elbow
0, 0.050, 0
0.2
Box
0.050, 0.110, 0.050
AJ4
-Translation
0,0,1
-1(r)
-90(l)
90(r)
1(l)
hip1
torso
0.055, -0.010, -0.115(r)
-0.055, -0.010, -0.115(l)
0.09
Sphere
0.010
LJ1
0, 0, 0
-0.7071, 0, 0.7071(r)
-0.7071, 0, -0.7071(l)
-90
1
hip2
hip1
0, 0, 0
0.125
Sphere
0.010
LJ2
0, 0, 0
0,1,0
-45(r)
-25(l)
25(r)
45(l)
thigh
hip2
0, 0.010, -0.040
0.275
Box
0.070, 0.070, 0.140
LJ3
-Translation
1,0,0
-25
100
shank
thigh
0, 0.005, -0.125
0.225
Box
0.080, 0.070, 0.110
LJ4
0,-0.010, 0.045
1,0,0
-130
1
ankle
shank
0, -0.010, -0.055
0.125
Sphere
0.010
LJ5
0, 0, 0
1,0,0
-45
75
foot
ankle
0, 0.030, -0.040
0.2
Box
0.080, 0.160, 0.020
LJ6
-Translation
0,1,0
-25(r)
-45(l)
45(r)
25(l(

استفاده از اتوماتای یادگیر به منظور راه رفتن روبات از بغل

تا اینجا حرکتشناسی معکوس به عنوان یک روش برای راه رفتن روبات نائو مطرح شد اما باید به این نکته توجه داشت که حل مساله حرکتشناسی معکوس با روشهای ریاضی معمول، برای روباتهای با درجه آزادی بالا با مشکلاتی همراه است. از جمله این مشکلات افزایش تصاعدی تعداد پارامترها با افزایش تعداد درجات آزادی است که این به پیچیدگی حل معادلات حرکتشناسی معکوس با افزایش تعداد درجات آزادی روبات، منجر میشود. به همین منظور تاکنون روشهای عددی مختلفی برای جایگزینی با حل ریاضی حرکتشناسی معکوس مطرح شدهاند. اما روشهای عددی و تکراری به علت پاسخهای نامطلوب زیاد در اثر معیارها و قیود موجود در تعریف مساله چندان راهگشا نبودهاند اما در همین زمینه الگوریتمهای مکاشفهای نیز مطرح شده اند که نتایج بهتری به همراه داشتهاند. در این بین میتوان به شبکههای عصبی[41،42،43،44] و الگوریتم ژنتیک [45،46] اشاره کرد. اتوماتای یادگیر یکی از روشهای مطرح شده اخیر در این زمینه است[47] که در این بخش ابتدا آن را به عنوان یک روش یادگیری به طور کامل توضیح میدهیم، سپس نحوه حل مساله به کمک آن را بیان میکنیم. در نهایت روش مطرح شده را به منظور راه رفتن روبات از بغل و راه رفتن مستقیم بر روی روبات نائو اعمال میکنیم. روش پیشنهادی که برای اولین بار بر روی روبات انساننمای نائو اعمال شده است، علاوه بر برطرف نمودن دشواریها و پیچیدگیهای مربوط به حرکتشناسی معکوس، نشاندهنده نتایج بهتری در زمینه راه رفتن از بغل، نسبت به روشهای پیشین است. همچنین این روش در زمینه راه رفتن به جلو نیز نشان دهنده نتایج بهتری نسبت به روش های قبلی می باشد.

3-4-1- روباتهای افزونه
روباتهای افزونه روباتهایی هستند که تعداد درجات آزادی آنها از حداقل لازم جهت پوشش فضای کاری آنها بیشتر میباشد. به طور مثال برای قرار دادن نوک ابزار روبات در نقطهای معین در فضایی با سه بعد، سه درجه آزادی کافی میباشد. حال اگر روباتی در چنین فضایی بیش از سه درجه آزادی داشته باشد روباتی افزونه است. افزونگی روبات مزایا و معایبی به همراه دارد. بزرگت
رین مزیت حضور درجات آزادی اضافی، انطاف پذیری حاصل از آن برای روبات است. به این معنی که برای یک روبات افزونه علاوه بر رسیدن به نقطه مورد نظر میتوان معیارهای دیگری همچون عدم برخورد با موانع و یا بهینگی مصرف انرژی روبات را نیز در نظر گرفت. در عوض با افزایش تعداد اتصالات آن، یافتن پاسخهای حرکتشناسی معکوس دشوارتر میشود که این مساله باعث روی آوردن به استفاده از روشهای حل هیوریستیک و روشهای یادگیری در یافتن مقادیر مربوط به اتصالات ربات به منظور راه رفتن شده اند. شکل 3-5 نمایش دهنده یک بازوی روباتیک افزونه است. این روبات در حال فعالیت در محیطی سه بعدی است و دارای 9درجه آزادی است پس ای یک روبات افزونه است. همانطور که در شکل مشخص است این افزونگی روبات باعث افزایش توانایی روبات در عبور از موانع موجود در محیط شده است. در عین حال برنامه ریزی این تعداد درجه آزادی برای رساندن نوک عملگر روبات به مقصد کار بسیار پیچیده و دشواری میباشد که حجم بالای محاسبات را میطلبد.

شکل 3-5 : یک بازوی روباتیک افزونه

3-4-2-اتوماتای یادگیر
یک اتوماتای یادگیر مدلی انتزاعی از ماشینی است که توانایی انجام تعداد محدودی عمل دارد. اتوماتا در تقابل با محیطی به فعالیت میپردازد که هر عمل انتخابی اتوماتا را ارزیابی میکند و نتیجه را به اتوماتا بازخورد میدهد که در ادامه اتوماتا بر اساس این بازخوردها برای انتخاب عمل بعدی تصمیمگیری میکند[48،49](شکل3-6).
محیطی که اتوماتای یادگیر در آن عمل میکند را میتوان به صورت یک سه تایی E={α,β,c}┤ تعریف نمود. به نحوی که در آن α={α_1 ,α_2 ,…,α_r}┤ مجموعه ورودیها، β={β_1 ,β_2 ,…,β_r}┤ مجموعه خروجیها و c={c_1 ,c_2 ,…,c_r}┤ مجموعه احتمالهای جریمه شدن میباشد.

3-6 : اتوماتای یادگیر در تقابل با محیط

بر اساس مقادیر دریافتی توسط خروجیهای محیط نوع محیط مشخص میشود به این ترتیب که هر گاه β_i دو مقداری باشد محیط مورد نظر از نوع P است. در این محیط β_i=1 به عنوان جریمه و β_i=0 به عنوان پاداش ارزیابی میشوند. در صورتی که β_i (n) بتواند یکی از مقادیر گسسته بین [0,1] را بگیرد محیط را نوع Q مینامند و اگر β_i (n) یک متغیر تصادفی در بازه [0,1] باشد محیط از نوع S میباشد. همچنین c_i احتمال نامطلوب بودن عمل α_i میباشد. در یک محیط پایدار مقادیر c_i با گذشت زمان ثابت میماند اما در یک محیط ناپایدار این مقادیر با گذشت زمان تغییر میکند. به طور کلی اتوماتای یادگیر را به دو دسته تقسیم میکنند، اتوماتای یادگیر با ساختار ثابت و اتوماتای یادگیر با ساختار متغیر که در ادامه معرفی خواهند شد[48،50،51].

3-4-2-1- اتوماتای


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