امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت ربات حل ماز
#1
دوستان کسی تا به حال ربات حل ماز ساخته ؟
چه جوری میشه الگوریتمها رو توی برنامه نویسی اجرا کرد؟
امیرالمومنین (ع) میفرماید:چه بسیار جواب که پاسخ آن سکوت است


 
پاسخ
#2
این همه استقبال یعنی:
کار نکردید
کارنکردن
کار نکنمBig Grin
امیرالمومنین (ع) میفرماید:چه بسیار جواب که پاسخ آن سکوت است


 
پاسخ
#3
مثل اینکه کسی چیزی نمی دونه پس خودم گشتم و چندتا مطلب گذاشتم
ربات های میکرو موس گروهی از ربات ها هستند که میتوانند یک مسیر ناشناخته را طی کنند و به مقصد برسند .
مسیر ناشناخته در مسابقات و ازمایش ها یک ماز است و در عمل میتواند یک شهر یا یک مکان نامشخص باشد .
در زیر تصویر یک نمونه ماز را مشاهده میکنید

در مسابقات ربات های میکرو موس ، ربات شما در یک گوشه از ماز ( که توسط داور تعیین میشود ) قرار میگیرد ، ربات باید در یک زمان مشخص ( که بین 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 شروع به حرکت میکند و به نقطه ی شماره یک میرسد ، در همین ابتدای کار سه مسیر پیش رو دارد ، کدام یک را انتخاب کند؟

شما باید بر روی ربات خود سه سنسور قرار دهید تا بتواند برای شروع ، همه مسیر های موجود را ثبت کند ، میکرو با استفاده از سنسور ها میفهمد که سه مسیر پیش رو دارد .
در این این الگوریتم میتواند از سنسور های مادون قرمز مانند مدار زیر استفاده کنید :

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


امیرالمومنین (ع) میفرماید:چه بسیار جواب که پاسخ آن سکوت است


 
پاسخ
 سپاس شده توسط akbar8 ، nano ، مهرداد ، d2006h ، ASHKAN ، Sniperwolf ، Last_Days
#4
یه سوال این روبات ها میکرو ماس چطوری میفهمن کی به مرکز زمین رسیدن و باید برگردن دوباره به نقطه شروع؟ چون مرکز زمینم دیواره های خودشو داره!!!!!

پاسخ
#5
سوالات مبهم در این باره زیاده مثلا یه الگوریتمی هست که مسیر رفته رو علامت میزاره بعد اگه دوباره اون مسیر رو برگرده اون رو پاک میکنه تا آخرش که یه مسیر می مونه اما یه سوال داور ها که نمی زارن ما این کار رو انجام بدیم من هم موندم که از چه الگوریتمی استفاده کنم که شانس توی اون درصد کمی داشته باشه و با قوانین هم در تعارض نباشه
امیرالمومنین (ع) میفرماید:چه بسیار جواب که پاسخ آن سکوت است


 
پاسخ
#6
من زیاد اطلاع ندارم ولی فکر میکنم از قطب نما های الکتریکی استفاده می کنند
پاسخ
#7
من فعلا توی بخش الگوریتم موندم که از چه الگوریتمی استفاده کنم و چه جوری میشه برنامه رو بر اساس اون الگوریتم نوشت یه الگوریتم مصغره هست که شانس بیاری میرسی به مقصد اما ماکه کلا بدشانسیم چه کار کنیمHuh
امیرالمومنین (ع) میفرماید:چه بسیار جواب که پاسخ آن سکوت است


 
پاسخ
 سپاس شده توسط d2006h
#8
(15-11-1390، 03:10 عصر)akbar8 نوشته است: یه سوال این روبات ها میکرو ماس چطوری میفهمن کی به مرکز زمین رسیدن و باید برگردن دوباره به نقطه شروع؟ چون مرکز زمینم دیواره های خودشو داره!!!!!

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


 
پاسخ
 سپاس شده توسط مهرداد ، amir farahbakhsh
#10
آره خیلی خوبهDodgy
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مقدمه ای بر ربات های میکرو ماوس - ماز - لابیرنت عرفان 2 2,253 20-8-1391، 06:23 عصر
آخرین ارسال: sadeghmojtabaei

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان