IranOpen2014

9 آوریل 2014

IranOpen امسال هم گذشت و از این به بعد فرصت بیشتری برای نوشتن دارم. دانشگاه ما امسال توی لیگ های انسان نمای KidSize و TeenSize ، زیر دریایی ، مین یاب دستی و امداد گر شرکت کرد . در مورد عملکرد تیم مین یاب و امدادگر چندان اطلاع ندارم . اما از اونجایی که کار نرم افزار تیم های انسان نما و زیر دریایی به عهده فرزاد عزیز و من بود تصمیم گرفتم چند خطی در مورد عملکرد ربات ها بنویسم .

تقریبا دو سال و اندی میشه که داریم نرم افزار ربات های انسان نما رو گسترش میدیم و خوشبختانه تا به امروز کار پیشرفت خیلی خوبی داشته و البته راه زیادی داریم تا ایده آل شدن !

طی چند ماه گذشته توی بخش نرم افزار تغییرات خیلی زیادی داشتیم ، ابتدای کار معماری نرم افزار رو باز نویسی کردیم که از لحاظ مهندسی نرم افزار کیفیت مناسبی پیدا کرده و در کل پیشرفت محسوسی داشتیم .

سال های گذشته ضعف عمده ای درمورد حرکات ربات و به طور خاص راه رفتن ربات داشتیم و امسال تصمیم گرفتیم از الگوریتم  حرکتی ارائه شده بر روی ربات های Darwin ، موجود در پروژه DarWinOp استفاده کنیم و خوشبختانه کار چندان پیچیده ای نبود و صرفا تبدیل کد های C++ موجود ، به C# و انطباق با پلتفورم ربات های خودمون بود . البته نا گفته نماند که این اگوریتم راه رفتن ضعف هایی درمورد راه رفتن به طرفین و چرخش به دور توپ داره و به ناچار در این موارد از الگوریتم حرکتی قبلی ربات استفاده کردیم . به زودی قصد داریم اصلاحاتی روی اون انجام بدیم و این مشکلات رو حل و فصل کنیم .

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

با تمام این تفاسیر امسال توی زمین مسابقه ربات ها اون طور که باید عملکرد خودشون رو نشون ندادن و مشکلات خاص و غیر قابل پیش بینی زیادی پیش اومد که در نهایت باعث شد نتایج ضعیفی داشته باشیم .

 

و اما در مورد تیم ROV ! این تیم پارسال سابقه نایب قهرمانی رو داشته و البته من و فرزاد امسال به این تیم ملحق شدیم و همکاری داشتیم .با توجه به اینکه درمورد مکانیک دید زیادی ندارم ترجیح میدم حرفی نزنم :دی . اما این رو میدونم که توی طراحی و ساخت این ربات ابتکار و نو آوری بسیاری وجود داره که باعث شده این روبات رو منحصر به فرد کنه . در مورد الکترونیک ابتدای کار تصمیم بر این بود که از موتور های DC برای ساخت Thruster استفاده بشه و با استفاده از یک میکرو کنترلر Atmega32 موتور ها رو کنترل کنیم و داده های سنسور ها رو دریافت کنیم . اما با توجه به حجم کم موتور های براشلس و در نتیجه کم شدن حجم Thruster ، از موتور های براشلس در Thruster این ربات استفاده شد . از اونجایی که ما سابقه راه اندازی چندین موتور براشلس با Atmega32 رو نداشتیم این تصمیم باعث شد تا در مورد پردازنده این ربات هم تجدید نظر بشه. خوشبختانه ما از قبل چند دستگاه MiniPC مدل Rb110 که  قبلا روی ربات مین یاب استفاده می شدن و داشتن خاک می خوردن،  داشتیم. با توجه به قابلیت های فوق العاده ی  سخت افزاری و نرم افزاری این MiniPC ،  خیلی زود تونستیم موتور های Brushless رو راه اندازی کنیم . بعد هم طی چند روز نرم افزار های  سمت کلاینت (RB110) و سمت سرور ( کامپیوتر اپراتور ) رو که تحت شبکه و با استفاده از پروتکل UDP ارتباط داشتن رو نوشتیم .

سمت سرور هم از Joystick برای راحتی کار اپراتور استفاده کردیم .

متأسفانه با وجود تلاش های زیادی که تک تک اعضای تیم داشتن ، عملکرد این ربات به خاطر مشکل در تامین تغذیه مناسب برای موتور ها (و یا شاید هم نرم افزار ! ) دچار اختلال شد و در نتیجه نتایج مطلوبی به دست نیومد .

با صحبت هایی که با اعضای تیم شده تصمیم داریم تمام بخش های این ربات رو ( سخت افزار و نرم افزار ) به طور کامل و به صورت یک پروژه OpenPlatform منتشر کنیم .

خلاصه این بود هر آنچه گذشت …

پایدار باشید .

 

پاسخ دهید