خب سلام به همگی !
اولین بار لیگ شبیهسازی سه بعدی در سال ۲۰۰۴ به عنوان یکی از مسابقات شبیهسازی فوتبال در روبوکاپ برگزار شد. پیش از آن، شبیهسازی فوتبال شامل مسابقههای دو بعدی و مربی(و ارائه ابزارهای گرافیکی) بود. تیمهای شبیهسازی دو بعدی به سطوح بالای تصمیمگیری میپردازند که استفاده از آنها در روبوتهای فوتبالیست با محدودیتهای سختافزاری به راحتی امکانپذیر نیست. شبیهسازی سه بعدی با هدف نزدیک کردن این دو به هم پدید آمده است.
در نسخهی حاضر شبیهساز سه بعدی هر تیم شامل تعدادی روبوت شبیهسازی شده میباشد (در آخرین مسابفات جهانی که در مکزیک برگزار شد 9 روبوت در مقابل 9 روبوت بازی کردند). این روبوتها مدل شبیهسازی شدهی روبوتهای نائو هستند (پیش از این رباتهایی موسوم به SoccerBot استفاده میشدند) :
شبیهساز فیزیکی قوانین فیزیکی مانند شبیهسازی مفاصل، وزن و اصطکاک را شبیهسازی میکند. هر تیم شبیهسازی فوتبال شامل یک مجموعه چند عامله از بازیکنان است که بهطور مستقل تصمیمگیری میکنند. و به این صورت است که شما یه روبوت کامل نائو در اختیار دارید که دارای 22 مفصل است و باید مفاصل رو طوری تکان دهید که کار مورد نظر شما مانند راه رفتن یا شوت کردن را انجام دهد (دقیقن مانند ربات واقعی نائو فقط درگیر کارهای فیزیکی نمیشوید). همچنین ربات باید بتواند با استفاده از اطلاعاتی مانند بینایی،ژیروسکوپ،شتاب سنج و ... محاسبات ضروری مانند موقعیت یابی یا تشخصی اینکه روبوت زمین خورده یا نه و ... را انجام دهد.
اینجا هم مثل دوبعدی چندتا بیس وجود داره که میشه باهاشون کار کرد. مثل :
1- بیس nexus به C++ . قابل دانلود از http://nexus.um.ac.ir/source.htm
2-بیس تیم magmaoffenburg به جاوا قابل دانلود از http://www.et-it.fh-offenburg.de/prof/kdorer/robocup/magmaOffenburg/html/downloads.htm
3-بیس تیم zigorat که شباهت زیادی به بیس UVA داره توی دوبعدی و البته یه مقداری قدیمی هست قابل دانلود از http://sourceforge.net/projects/zigorat
رباتها با هم میتونن به وسیلهی همون say ارتباط برقرار کنن یعنی میتونن حرف بزنن ( ولی محدودیت داره تعداد کاراکترهایی که say میکنه )
برای شروع اول برنامهنویسیتون رو توی جاوا یا c++ خوب کنید بعد لینوکس نصب کنید. بعد سرور رو نصب کنید ( اگه روی اوبونتو هستید برین : robocup.allafiha.com و نصب کنید ) بعدش هم manual سرور رو بخونید :
http://sourceforge.net/projects/simspark/files/User%20Manual/1.2/
حالا برین سراغ یکی از بیسهای موجود(به شخصه نکسوس رو توصیه میکنم) و شروع کنین باهاش یکم کار کردن تا کلن دستتون بیاد .
اره زمین بازی فلگ داره . هشت تا فلگ . چهار تا فلگ بالای تیر دروازه . چهار تا هم توی کرنر . ( پردازش تصویر نداره ) . ولی خب یکی از سخت ترین کارها همین موقعیت یابیه توی زمینه . چون تعداد فلگها کم هست و نویز هم زیاد .
نه دقیقن قوانین مثل لیگ استاندارد نیست . فرق میکنه . اونطور که من مسابقههاشون رو دیدم .
اصطکاک ! به هر صورت توپ وقتی روی زمین حرکت میکنه اصطکاک داره . بازیکن که داره راه میره اگه اصطکاک نباشه که پاش لیز میخوره روی زمین باید بالاخره پاش به یه جایی گیر کنه دیگه :)
متاسفانه تاپیک اونطور که انتظار میرفت پیش نرفت ،بچه ها اونقد که فک میکردم استقبال نکردن. واسه همین فک کنم بهتر باشه مدت مطرح کردن سوالات رو افزایش بدیم و برای هر لیگ به مدت 20 روز تاپیک فعال باشه.
این دفعه از مین یاب خودکار شروع میکنیم. هر سوالی که دارید میتونید مطرح کنید.
مقدمه:
با توجه به پیشرفت تسلیحات نظامی در قرن های اخیر، راه های مقابله با این تسلیحات نیز بایستی ارتقا یابد. یکی از تسلیحات رواج یافته در جنگ های قرن بیستم مین های زمینی بودند. مین های زمینی به دلیل مخفی ماندن از چشم انسان و امکان باقی ماندن آنها برای سالیان دراز در خاک می توانند علاوه بر دوران جنگ،پس از آن نیز برای انسان ها به خصوص ساکنین منطقه مشکل ساز و خطر آفرین باشند. همچنین شناسایی و خنثی سازی آنان توسط انسان می تواند بسیار خطر آفرین بوده و باعث مشکلات فراوان گردد. علاوه بر این ها در طول هشت سال جنگ تحمیلی تعداد زیادی مین توسط رژیم عراق در نواحی جنگ زده ایران دفن شد که با گذشت سال های متعدد از پایان جنگ هنوز تعدادی از آن ها در این مناطق باقی مانده اند و برای ساکنین منطقه بسیار مشکل ساز هستند. از این رو شناسایی مین ها توسط موجودی غیر از انسان ها اهمیت می یابد. با توجه به این که یکی از اهداف علم رباتیک جایگزینی انسان ها توسط ربات ها در موقعیت های سخت و خطرناک است،ربات ها در زمینه شناسایی مین ها می توانند نقش بسیار مفیدی داشته باشند. با توجه به این که استفاده کاربردی از ربات ها در زمینه های مختلف در ایران هنوز رواج نیافته اما ربات های مین یاب از معدود ربات هایی هستند که قابلیت استفاده کاربردی از آنان در ایران وجود دارد.
از آنجائيکه اولين مرحله در خنثی سازی مين، کشف آن است، روبات مين ياب بايد قادر باشد با سرعت و دقت لازم اينکار را بصورت خودکار انجام دهد. براي اينکار يک سنسور کشف مين بر روی ناحيه مين گذاری شده عبور داده می شود. اين عمل بايد به نحوی باشد که تمامی محوطه تحت پوشش قرار داده شود. هدف اين مسابقه توسعه الگوريتمهای هوشمندی است که بيشترين مين را درکمترين زمان کشف نمايد. روبات مين ياب بايد قادر باشد در ناحيه مين گذاری شده حرکت نموده و با سرعت و دقت مناسب مين های قرار گرفته در بخش های مختلف را پيدا کرده و از برخورد با ديواره ها و موانع احتمالی و همچنين ورود به ناحيه ممنوعه اجتناب کند. در صورتی که روبات بتواند نقشه ای از محل مين های کشف شده را تهيه نمايد امتيازی اضافی دريافت خواهد کرد.
نه
تو زمین یه دونه مین واقعی هم وجود نداره.
چند نوع مین داریم
مین فلزی زیر سطحی که یه تن ماهی هست که با فاصله 5 تا 20 سانت زیر زمین نصب شده
مین پلاستیکی زیر سطحی که با فاصله 5 تا 10 سانت زیر زمینه و معمولا یه سکه 50 تومنیه
مین سطحی که اونم قوطی رب یا تن ماهیه که رو زمین میذارن و دورش سنسور تماس میذارن و چندتا LED تا در صورت برخورد ربات باهاش LED ها روشن شه
صفحه فلزی هم روی زمین وجود داره که مساحتش زیاده(حداکثر 40 در 40 سانت) و روی سطح زمین می چسبونن
البته این مربوط میشه به لیگ مین یاب خودکار، مین یاب واقعی فرق داره. ولی بازم اونجا مین واقعی نمیذارن(من که ندیدم تا حالا بذارن).
هر سوال يا ابهامي راجب اين ليگ يا ربات هاش داريد بپرسيد تا جواب بدم.
يه چيزي كه ممكنه واسه هركسي اول از همه مبهم باشه اينه كه يعني واقعا اين ربات ها ميتونن برن تو مناطق جنگي و مين خنثي كنن?
در جواب بايد بگم:به هيچ وجه! سيستم حركت اين ربات ها واسه زمين مسابقه طراحي ميشه كه حتي در حد 5 سانت هم اختلاف سطح يا در حد 5 درجه هم شيب نداره و تا جايي كه بتونن صاف درستش ميكنن و جنسش هم يا چوب با روكش سفيده يا موكت.از طرف ديگه الگوريتم ربات ها فقط براي اسكن كردن زمين مسابقه طراحي شده كه معمولا 6*6 متر هس و از 10 تا رديف و 10 تا ستون خونه هاي 50*50 سانت فرضي تشكيل شده.سعي ميكنم عكس زمين رو براتون بذارم.
عکس های زمین. اون قسمت که با کادر قرمز مشخص کردم منطقه ممنوعه است که اگه ربات واردش بشه از مسابقه حذف میشه و مشخصات اون منطقه رو داور قبل اینکه ربات رو run کنیم به ما اعلام میکنه تا مختصات رو به ربات بدیم که واردش نشه. اون کادر سبز هم مین سطحی هست. کادرهای آبی هم صفحات فلزی هستن که ربات باید از روی اون ها رد بشه و اون ها رو با مین اشتباه نگیره.(ببخشید دیگه خیلی ضایع اینا رو مشخص کردم،حوصله نداشتم )
سلام شبیه سازی سه بعدی من اصلن کار نکردم ولی بودن کسایی که کار می کردن وقتی من اول دبیرستان بودم فک کنم فقط ۲ تا روبات هر تیم داشت و بیشتر وقت صرف این میشد که این ربات ها بتونن بدونه زمین افتادن حرکت کنن. یا اینکه زمین افتادن چطور سریع تر پاشن.
بعد یه سری مشکلات داشت مثله اینکه یهو ارتفاعه دروازه ها کمو زیاد میشد (نسبت به مسابقه ی ساله قبل) خب اون موقع فکر کنم خیلی جدی گرفته نمیشد. یا شایدم ما جدی نمی گرفتیم.
من فقط برایه دو بعدی یه ذره یادمه کار کردم با بیس مرصاد. ولی خب الان یه ۴-۵ سالی ازش می گذره. نمی دونم کسی اگه دوست داره من حال دارم که یه گروه تشکیل بدیمو یه کاری بکنیم اگه داوطلب باشه. ولی من سه بعدی هیچی حالیم نیست
الان بحث راجب مین یاب خودکار هست. اگر به دنبال هم گروهی برای تشکیل تیم هستید به اینجا مراجعه کنید:
http://www.sampadia.com/forum/index.php/topic,13628.0.html
خب یه سوال ناشیانه ; مین های مسابقه چه خصوصیتهایی دارن که متفاوت از صفحه فلزی ــن ؟ ینی ارتفاعشون از سطح زمین یا سطح کمترشون نسبت به صفحه فلزی تفاوتشونه ؟ روبات دقیقا چجوری تشخیص میده اینکه جلوشه الان مینه یا صفحه فلزی یا قوطی کنسرو ؟ مختصات صفحه فلزیا که داده نمیشه ؟
یکی از قسمت های مشکل الگوریتم ربات همینه یعنی تشخیص مین های فلزی زیر سطحی از صفحه فلزی. این قسمت از پارسال به قوانین اضافه شده و هنوز خیلی از تیم ها نتونستن راه خوب و تضمین شده ای واسه تشخیص مین فلزی از صفحه فلزی پیدا کنن. اکثر روش هایی که تو الگوریتم ازش استفاده می کنن درصد خطای زیادی داره. تنها چیزی که میتونم بگم اینه که اگه فلزیاب خوبی داشته باشید عدد ADC که فلزیاب وقتی رو صفحه فلزی قرار بگیره به میکرو میده با عدد ADC وقتی روی مین فلزی باشه باید تفاوت نسبتا زیادی داشته باشه اما متاسفانه فلزیاب ما که این طوری نبود.یکی از مهم ترین مشکلات ما همیشه فلزیاب بوده چون طراحی مدار فلزیاب کار هر کسی نیس و گذشته از اون احتیاج به کلی آزمایش و تجربه داره و همین طور بعضی از قطعاتش به راحتی گیر نمیومدن واسه همین ما مجبور بودیم از کیت هایی که تو بازار بود استفاده کنیم و با اعمال تغییراتی تو همونا سعی می کردیم بهترش کنیم اما هیچ وقت نتونستیم یه فلزیاب بی عیب و نقضص داشته باشیم.
این نکته رو هم اضافه کنم که تشخیص مین زیر سطحی فلزی از مین های سطحی با استفاده از سنسورهای فاصله سنج شارپ یا IR یا اولتراسونیک هست که استفاده از شارپ رایج تره. برای تشخیص مانع هم از همین سنسور ها استفاده میشه ولی وقتی ربات به مانع برسه فقط در مقدار ورودی سنسورهای فاصله سنج تفاوت ایجاد میشه در حالی که وقتی ربات به مین های سطحی برسه علاوه بر تغییر در مقدار ورودی سنسورهای فاصله سنج، ورودی فلزیاب هم تغییر می کنه.
مختصات صفحه فلزی ها یه تیم ها داده نمیشه و اکثرا هم برای هر تیم قبل از این که وارد زمین بشه چند دقیقه زمین بسته میشه و همه میرن بیرون و مین ها و صفحه های فلزی و موانع و همه این ها دوباره چیده می شن و به طور کلی نقشه زمین تغییر می کنه که تیم ها نتونن قبل از وارد شدن به زمین مختصات چیزی رو به ربات بدن و تقلب کنن.
یه نکته دیگه هم که هس که موقع اسکن کردن زمین تو نحوه اعلام کردن مین های زیر سطحی فلزی(قوطی کنسرو) و زیر سطحی پلاستیکی(سکه) معمولا تفاوتی وجود نداره اما نحوه اعلام مین زیر سطحی(سکه یا قوطی کنسرو) با صفحه فلزی متفاوته و اگر تیمی اشتباه اعلام کنه بهش امتیاز منفی میدن.
کلا تو مسابقات مین یاب خیلی از تیم ها امتیازشون منفی میشه! و حتی در بعضی موارد نادر پیش میاد که تیمی با امتیاز منفی به مرحله بعد هم راه پیدا کنه که این بستگی به سطح مسابقه و تیم هایی که شرکت کردن داره.
لیگ بعدی رو شروع می کنیم:
demo
لیگ demo یا همون ربات های نمایشی یکی از لیگ های ایران اپن هست که هم در بخش junior (دانش آموزی)و هم در بخش senior(دانشجویی) برگزار میشه. این لیگ مخصوص به ربات هایی هست که طرح و ایده اون ها یک چیز کاملا جدیده و در سایر لیگ ها نمی گنجه. به این لیگ، لیگ خلاقیت هم می گن. شاید یکی از دلایلش این باشه که تو داوریش(مخصوصا تو ایران اپن) خلاقیتی که توی طرح و ایده اش به کار رفته خیلی خیلی اهمیت داره. چه بسا ربات هایی که خرج زیادی واسش کردن، خیلی وقت روش گذاشتن، بهترین قطعات و پیچیده ترین الگوریتم ها توش به کار رفته اما مقام نیاوردن چون ایده اصلی طرح تکراری بوده و به جاش ربات های بسیار ساده مقام آوردن چون ایده شون بسیار جدید و خلاقانه بوده.
بین شرکت کننده های تو این لیگ معمولا اختلاف خیلی زیادی هست به همین دلیل لیگ دانش آموزی و دانشجوییش کاملا جدا برگزار میشن و گویا از امسال هم لیگ دانش آموزی 2 بخش شده.
این چیزی هست که درباره لیگ ربات های نمایشی تو سایت خود ایران اپن نوشته شده:
هدف مسابقات ربوکاپ دانشآموزی، سوقدادن دانشآموزان جهت مشارکت در پیشبرد علوم رباتیک و علوم مربوط به طراحی محصولات حرفهای و کاربردی است. رسالت ما از برگزاری این مسابقات در داخل کشور، در درجه اول ايجاد موجی از شور و نشاط علمی در کشور و پس از آن رهبری و جهتدهی به مسابقات، جشنوارهها و فعالیتهای رباتیکی در داخل کشور است.
ما و تمام دوستان جوانمان در این پروژه به این شعار باور داریم که:
برنده یا بازنده تفاوتی نمیکند، تنها آموختههایتان از این مسابقات برای شما میماند!
این جمله آخر خیلی مهمه و به نظرم همینه که باعث میشه این لیگ از بقیه متمایز بشه. هر سوالی دارید می تونید تا پایان فروردین بپرسید. :)