Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > مقدمات هوش مصنوعی > پروژه های هوش مصنوعی در ایران


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۳-۲-۱۳۸۷, ۱۱:۵۱ بعد از ظهر   #1 (لینک دائم)
عضو جدید
 
آواتار Iman
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: بوشهر
پست ها: 5
تشكرها: 35
6 تشكر در 2 پست
ارسال پيغام Yahoo به Iman
پيش فرض شبیه ساز روبات حل ماز!

سلام
یکی دو سال پیش تو مسابقات حلی کاپ ما تو مسابقه حل ماز شرکت کردیم. البته ما ثبت نام کردیم اما متاسفانه روبات مون آماده نشده بود. جالب اینکه از 14-15 تیم شرکت کننده توی این مسابقه تنها 2 تیم شرکت کردند و تقریبا فکر میکنم بیشترین مشکل برای این ربات هوش مصنوعی این ربات باید باشه که شرکت کننده اون کم هست.
برای تست هوش مصنوعی ربات من زمین مسابقه رو شبیه سازی کردم.
این شبیه ساز 2 قسمت داره. قبل از شرح شبیه ساز مسابقه حل ماز رو توضیح میدم:

یک زمین 9*15 داریم که کف اون به صورت شطرنجی در اومده(سیاه و سفید). روبات از یک خونه شروع به حرکت میکنه و باید به خونه انتها برسه. نکته اساسی اینجاست که این همه خونه ها به هم راه ندارن و بین هر خونه ممکنه دیوار باشه. هر رباتی زودتر بتونه خونه انتها رو پیدا کنه برنده هست. دو تا از خونه ها هم خونه خطا هستند و ربات در صورتی که وارد اونها بشه امتیاز منفی میگیره.

---
شبیه ساز این مسابقه دارای دو قسمت هست. هر دو قسمت با ویژوال بیسیک 6 نوشته شده.

BoardMaker:
این برنامه برای طراحی زمین مسابقه قرار داده شده. شما با این برنامه میتونید بین هر خونه ای که بخواید دیوار بزارید و بعد اون رو در یک فایل ذخیره کنید و در شبیه ساز از اون استفاده کنید.


Maze:
این برنامه شبیه ساز هست. وقتی New رو میزنید مشخصات ربات (طول، عرض، مکان شروع؛ سرعت دو موتور، نوع کنترل ) و زمین بازی رو انتخاب میکنید. البته در کنترل دستی شما به کلیدهای جهتی کیبورد به صورت دستی میتونید ربات رو حرکت بدید.

چون ما میخواستیم این شبیه ساز چیزی باشه که ما خودمون ازش استفاده میکنیم پس بهتره این اطلاعات رو هم بدم که ربات ما چجوری کار میکرد.
ربات ما در زیرش چهار تا سنسور مادون قرمز داشت. بالا، پایین ، چپ و راست. چون زمین مسابقه سیاه سفید هست با این سنسور ها برای تشخیص خونه ای که ربات در اون قرار داره استفاده کردیم. وقتی شبیه ساز رو میارید توی قسمت "Sensors/ Motors" زیر قسمت IR_Down میتونید وضعیت این چهار سنسور رو مشاهده کنید.
در چهار طرف ربات هم چهار تا سنسور مادون قرمز وجود داشت که این چهار سنسور رو طوری باید تنظیم میکردیم که اگه دیوار نزدیک بود تشخیص بده. (فکر میکنم اندازه هر خونه 20*20 سانت بود). توی قسمت سنسور ها در شبیه ساز وضعیت این چهار سنسور رو هم میتونید ببینید.
ربات ما دو تا موتور داشت. یکی برای بالا و پایین رفتن و یکی برای چپ رو راست رفتن. وقتی که New رو میزنید TopSpeed1 و TopSpeed2 رو میبینید که حداکثر سرعت هر موتور رو اینجا قرار دادیم که وضعیت مکانیکی ربات بررسی بشه و شتاب موتوها هم در قسمت Accelator قرار داره.
در کل این وضعیت ظاهری ربات بود که ما بر اساس اون این شبیه ساز رو طراحی کردیم.
برای میکرو هم فکر کنم از Atmega 32 استفاده کردیم که 1کیلوبایت حافظه داشت و این شبیه ساز خونه های حافظه رو نشون میده.

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

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

پروژه ها ضمیمه شده.
موفق باشید.
فايل ضميمه
نوع فايل: zip Maze.zip (48.9 كيلو بايت, 558 نمايش)
Iman آفلاين است   پاسخ با نقل قول
از Iman تشكر كرده اند:
dijam (۰۵-۳۱-۱۳۸۷), green_Dream (۱۱-۲۵-۱۳۸۸), tahanagmi (۰۶-۲۱-۱۳۸۷)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۳-۳-۱۳۸۷, ۱۲:۳۴ قبل از ظهر   #2 (لینک دائم)
عضو جدید
 
آواتار Miyhridate
 
تاريخ عضويت: ارديبهشت ۱۳۸۷
پست ها: 3
تشكرها: 1
1 تشكر در 1 پست
پيش فرض

بسیار ممنونم جالب بود. فقط اگه میشه یه کم راجع به هوش مصنوعی یه این مسئله و نحوه ی پیاده سازی اون توضیح بدین.
Miyhridate آفلاين است   پاسخ با نقل قول
قديمي ۰۳-۳-۱۳۸۷, ۰۳:۵۷ بعد از ظهر   #3 (لینک دائم)
عضو جدید
 
آواتار Iman
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: بوشهر
پست ها: 5
تشكرها: 35
6 تشكر در 2 پست
ارسال پيغام Yahoo به Iman
پيش فرض

برای هوش مصنوعی این ربات، روش های زیادی وجود داره. که البته خیلی هاشون ساده هستند و تقریبا ناکارا.... برای همین هم هست که گفتم توی اون مسابقه از 15 تیم ثبت نام کرده 2 تیم شرکت کردند....
بعضیا میان ربات رو به سمت راست میگیرن و حرکت میکنند! بعضیا با الگوریتم های گراف حرکت میکنند و ....
الگوریتمی که من برای حرکت توی این شبیه ساز در نظر گرفتم چیزی شبیه Dfs هست. یعنی به هر خونه که چند راه رسید یکی رو انتخاب میکنه و تا عمق میره و در صورتی که موفق نشد به اون خونه برمیگرده و مسیر دیگه رو ادامه میده.
برای کارایی بهتر ربات اگه دیده باشید این هوش مصنوعی که ربات ما داره توی حافظه اش وضعیت زمین رو ذخیره میکنه. برای بیرون نرفتن از زمین(چون ممکنه اطراف زمین دیوار نباشه! ربات اطراف زمین رو دیوار در نظر میگیره و همچنین اطراف خونه خطا (بنابراین وقتی به همسایگی خونه خطا میرسه راهی برای رفتن به خونه خطا پیدا نمیکنه!).
برای رفتن به خونه بالایی یا پایینی یا چپ و راست ، ربات سنسور های زیر رو در نظر میگیره. وضعیت اولیه رو در نظر میگیره و شروع به رفتن به سمت مورد نظر میکنه. وقتی که جفت سنسورهای مورد نظر تغییر وضعیت دادن در اینصورت متوجه میشه که به خونه کناری رفته! البته همونطور که میتونید تو قسمت تنظیمات موتورها انجام بدید میبینید که اگه حد سرعت موتورها زیاد باشه و شتاب کم این یک مشکل خیلی خیلی بد هست. چون تا ربات بیاد دستور ایست بده از خونه مورد نظر خارج میشه!
از اونجایی که الگوریتم Dfs (بدون هیچ تغییری) حتما جواب میده ولی زمان زیادی ممکن هست بگیره برای همین از ذخیره کردن مسیر ربات میشه استفاده کرد که در رکوردگیری مسیر اصلی رو طی کنه. اما اگه یه زمانی قانون خطا بودن این رو در نظر بگیره همین الگوریتم رو میشه استفاده کرد ولی برای بهینه سازی مسیر برگشت میشه از تکنیک های دیگری استفاده کرد.
شما با این شبیه ساز میتونید هر الگوریتمی رو که تو سر دارید به این ربات منتقل کنید....
Iman آفلاين است   پاسخ با نقل قول
از Iman تشكر كرده اند:
dijam (۰۵-۳۱-۱۳۸۷), han (۱۰-۵-۱۳۸۹), tahanagmi (۰۶-۲۱-۱۳۸۷)
قديمي ۱۲-۱۰-۱۳۸۷, ۰۱:۳۹ بعد از ظهر   #4 (لینک دائم)
عضو جدید
 
آواتار bahar_53800
 
تاريخ عضويت: اسفند ۱۳۸۷
محل سكونت: iran
پست ها: 2
تشكرها: 0
0 تشكر در 0 پست
ارسال پيغام ICQ به bahar_53800
پيش فرض

سلام من درسي به نام شيوه ارائه داريم كه بايد حتما يه پروژه خوب ارائه بدم و پروژم رو در مورد سيستم هاي فازي برداشتم اما هر چي دنبال مطالب خوب و بدرد بخور ميگردم هيچي گيرم نمياد كسي مي تونه در اين زمينه به من كمك كنه؟ ازش منمنون ميشم.
bahar_53800 آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۲:۵۶ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design