واضح آرشیو وب فارسی:فان پاتوق: ربات های میکرو موس گروهی از ربات ها هستند که میتوانند یک مسیر ناشناخته را طی کنند و به مقصد برسند .
مسیر ناشناخته در مسابقات و ازمایش ها یک ماز است و در عمل میتواند یک شهر یا یک مکان نامشخص باشد .
در زیر تصویر یک نمونه ماز را مشاهده میکنید
در مسابقات ربات های میکرو موس ، ربات شما در یک گوشه از ماز ( که توسط داور تعیین میشود ) قرار میگیرد ، ربات باید در یک زمان مشخص ( که بین 10 تا 30 دقیقه است ) از بین مارپیچ ها عبور کند و به مقصد ( که توسط داور تعیین میشود ) برسد .
ساخت ربات میکرو موس بسیار ساده میباشد ، برای ساختن یک ربات میکرو موس شما به مهارت کافی در زمینه الکترونیک و رباتیک نیاز دارید و ربات شما باید دارای یک سخت افزار با انعطاف ویک برنامه بسیار هوشمندانه برای پردازنده باشد . (در واقع برنامه یا الگوریتم ربات است که باعث برتری ان خواهد شد )
ربات شما باید بتواند در کمترین فضا دور بزند و بچرخد ، همچنین اندازه ان باید کوچک باشد تا به دیوراه های ماز برخورد نکند .
در برنامه ای که برای پردازنده ربات مینویسید ، باید کلیه شرایط را برای ربات تعریف کنید ، ممکن گاهی وقت ها چند مسیر جلوی ربات باشد که فقط یکی از انها ربات را به مقصد برساند ، برنامه شما باید انقدر قوی باشد که ربات مسیر درست را انتخاب کند .
برای ربات های میکرو موس الگاریتم ها و روش های مختلفی ارائه شده است که در ادامه انها را بررسی میکنیم
ک ربات میکرو موس از بخش های زیر تشکیل میشود :
-بدنه ربات
-مدار تغذیه
-قسمت حرکت
-بخش سنسور ها و فرمان
-پردازنده و برنامه نویسی
بدنه ربات :
بدنه ربات باید محکم و سبک باشد و بتواند وزن دیگر اجزا را تحمل کند ، همچنین باید دارای قسمت های برای بستن چرخ ها ، موتور ها و... باشد . در بخش ربا ت های مسیر یاب در مورد بدنه بحث شد .
مدار تغذیه :
برای تغذیه مدار میتواند از برق مستقیم یا باطری استفاده نمایید ، در این قسمت در مورد تغذیه ربات با باطری ، توضیح داده می شود (تغذیه با برق مستقیم در بخش ربات مسیر یاب )
بهترین نوع باطری برای تغذیه ربات ها باطری های ni-cd میباشد . معمولا ولتاژ مورد نیاز برای پردازنده و سنسور ها ، 5 ولت و ولتاژ مورد نیاز برای موتور ها بین 10 تا 12 ولت است ، برای ساختن یک منبع تغذیه با باطری ، روش های مختلفی وجود دارد که در زیر هر یک را مطرح میکنیم و مزایا و معایب ان را بررسی میکنیم : (با فرض اینکه ولتاژ کار پردازنده 2.7 تا 5.5 ولت و ولتاژ کار موتور ها 12 ولت است)
1- استفاده از تغذیه جدا برای پردازنده و موتور ها
معایب:
-به فضای زیادی جهت گذاشتن باطری ها نیاز داریم ( در صورتی که از باطری های 1.5 ولتی استفاه کنید باید تعداد 13 عدد از انها را در ربات خود بگذارید)
- باطری ها سنگین هستند ، برای حرکت ربات به موتور های پرقدرت نیاز هست که باعث بالا رفت مصرف باطری و.. میشود .
-شارژ کردن 13 عدد باطری وقت زیادی میگیرد و ممکن است بعضی از انها خوب شارژ نشوند.
مزایا :
-تغذیه موتور ها و پردازنده جدا میباشد و تاثیری رو هم ندارد
از انجا که ربات ها باید کوچک و کم حجم طراحی شوند ، پس روش بالا حذف میشود
2- استفاده از 8 عدد باطری 1.5 ولتی که با هم سری شده اند .
در این روش میتوان ولتاژ تغذیه پردازنده را از سه باطری اول و تغذیه موتور ها را از کل باطری ها گرفت .
معایب:
-در این روش چون از سه باطری اول جریان بیشتری کشیده میشود ، خطر افت ولتاژ انها وجود دارد ( در مواقعی که ربات مسیر طولانی را طی میکند )
-در صورتی که از موتور و باطری نامرغوب استفاده شود ، ولتاژ باطری در لحظه راه اندازی موتور ها افت میکند و باعث ریست شدن پردازنده میشود .
-ممکن است بعضی از باطری ها به خوبی باطری های دیگر شارژ نشوند و در هنگام کار ربات مشکل ساز شوند.
مزایا :
-هزینه ی کمتر جهت تعویض باطری ها (همه انها با هم خراب نمیشوند)
- وجود شارژر های اماده
-تنوع در نوع باطری (از نظر جریان دهی)
از انجا که ربات شما فقط چند بار (چند بار تست و یک مسابقه) کار میکند و شما توانای پرداخت انواع هزینه ها را دارید ، پس روش بالا روش مناسبی نیست .
در مدار بالا فقط از یک باطری برای تامین ولتاژ ربات استفاده شده است (عدم نیاز به فضا زیاد و کم شدن وزن ربات )، ولتاژ این باطری 12 ولت است و باید توان جریان دهی حداقل 1 امپر / ساعت را داشته باشد . تا وقتی که ولتاژ باطری بالای 7.5 ولت است مشکلی برای پردازنده پیش نمی اید چون ولتاژ ورودی رگولاتور میتواند تا 1.5 برابر ولتاژ خروجی کاهش یابد (با کم شدن ولتاژ باطری فقط توان و سرعت چرخش موتور ها کم میشود و ولتاژ تغذیه پردازنده همچنان ثابت است ) و کار شما تارسیدن به این میزان تمام است و شما برنده مسابقه شده اید .
در صورتی که با استفاده از باطری وزن و ابعاد ربات شما بزرگ میشود ، از منبع تغذیه خارجی استفاده کنید (طرز کار در قسمت ربات مسیر یاب اورده شده است )
قبل از اینکه به بررسی دیگر اجزای این ربات بپردازیم ، اجازه دهید اندکی در مود الگوریتم ان صحبت کنیم ، بررسی الگوریتم به شما اجازه میدهد ، بهترین سخت افزار را انتخاب کنید .
الگوریتم های که برای یک میکرو موس وجود داره در زیر اورده شده است :
1- دنبال کردن دیوار ها (دست کشیدن)
2- مادون قرمز (کنترل مسیر های موجود)
3- شمارش گردش ها
4- فاصله یابی
5- پردازش تصویر
6-مرکب
نام های که در بالا دیدید رو من برای الگوریتم ها انتخاب کردم ، اصل الگوریتم که در زیر توضیح داده میشه در همه جا یکی هست و فقط ممکنه اسم اون فرق کنه :
- دنبال کردن دیوار ها (دست کشیدن) :
ربات مانند یک انسان کور است ، یک انسان کور دست خود را به دیوار ها میکشد تا راه را بیابد ، در این روش شما میتوانید با استفاده از سنسور های ضربه یا مادون قرمز دیوار ها را حس کنید ، مسیر های باز را انتخاب کنید و از انها عبور کنید تا به مقصد برسید .
این روش برای ماز های که پیچیده نیستند پیشنهاد میشود .
اشکالی که این روش دارد این است که رسیدن ربات به مقصد بیشتر به شانس شما بستگی دارد تا رباتتان.
ساده ترین برنامه ای که میتوان برای این ربات نوشت در زیر اورده شده است :
$regfile = "M8DEF.DAT"
$crystal = 1000000
Config Portb.0 = Input
Config Portb.1 = Input
Config Portb.2 = Output
Config Portb.3 = Output
Do
Set Portb.2
Set Portb.3
If Pinb.0 = 1 Then
Reset Portb.2
Wait 1
End If
If Pinb.1 = 1 Then
Reset Portb.3
Wait 1
End If
Loop
End
در برنامه بالا هنگامی که ربات به سمت دیواری میرود و به ان نزدیک میشود ، سسنور همان سمت فعال شده و میکرو چرخ سمت دیگر را غیر فعال میکند تا تعادل در مسیر برقرار شود و ربات بتواند در وسط دیوار ها حرکت کند
در واقع این ربات فقط به دیوار ها برخورد نمیکند و تنها در صورتی درست کار میکند که فقط یک مسیر برای رسیدن به هدف وجود داشته باشد .
2- روش مادون قرمز
ماز موجود در اولین ارسال را ببینید ، ربات شما از نقطه ی start شروع به حرکت میکند و به نقطه ی شماره یک میرسد ، در همین ابتدای کار سه مسیر پیش رو دارد ، کدام یک را انتخاب کند؟
شما باید بر روی ربات خود سه سنسور قرار دهید تا بتواند برای شروع ، همه مسیر های موجود را ثبت کند ، میکرو با استفاده از سنسور ها میفهمد که سه مسیر پیش رو دارد .
در این این الگوریتم میتواند از سنسور های مادون قرمز مانند مدار زیر استفاده کنید :
بهتر است از سنسور های مادون قرمز ی که در یک پک هستند استفاده نمایید.
سه عدد سنسور را در جلو ، سمت راست و سمت چپ قرار دهید .
اکنون باید در برنامه خود قید کنید که کدام جهت به دوجهت دیگر ارجیعت دارد .
من سمت چپ را انتخاب میکنم ، ربات به سمت بالا میرود و به نقطه ی شماره دو میرسد ، در اینجا دو انتخاب وجود دارد ، راست یا مستقیم ؟
اکنون شما باید مشخص کنید که دومین جهتی که ارجعیت دارد چیست ، من راست را انتخاب میکنم .
با این تعاریف ربات ما ، از بین راست ، چپ ، مستقیم ، جهت چپ را انتخاب میکند و از بین راست و مستقیم جهت راست (از بین چپ و راست هم ، جهت چپ ) .
ربات به مسیر خود ادمه میدهد تا به نقطه شماره سه میرسد ، در اینجا بر طبق ارجعیت مسیر ها جهت راست خود را انتخاب کرده و .........
ربات شما در یک حلقه مدام به دور خود میچرخد ، در ادامه روش های خلاصی از حلقه که دیگر روش های ما هستند را توضیح میدهیم ....
در صورتی که ماز مورد استفاده فاقد چنین حلقه های باشد ، با الگوریتم مناسب ربات با موفقیت به مقصد میرسد .
این صفحه را در گوگل محبوب کنید
[ارسال شده از: فان پاتوق]
[تعداد بازديد از اين مطلب: 801]