سایت تاکستان رباتیک
بزرگترین و جامع ترین سایت رباتیک ایران
                                                        
درباره سایت


مدیریت سایت : فرهاد رحمانی
نویسندگان
نظرسنجی
از کدامیک از مطالب سایت بیشتر استفاده می نمایید؟








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




در این جلسه به آموزش دریافت، نصب و اجرای ابزار‌های شبیه‌سازی فوتبال خواهیم پرداخت. در پایان این جلسه یک مسابقه شبیه‌سازی بین دو تیم از پیش ساخته‌شده را به‌دست خودتان اجرا خواهید کرد.

 برای دریافت و نصب این بسته های نرم افزاری، به دو روش زیر می توان عمل نمود:

 

1. نصب به صورت Online:

در ابتدا با استفاده از فرمان زیر در محیط Terminal، مخزن Rubuntu را به لیست مخازن قابل دسترسی Ubuntu می افزاییم.

  

sudo add-apt-repository ppa:gnurubuntu/rubuntu && sudo apt-get update

 

 

سپس

 با استفاده از فرمان های زیر ابزار های RCSSServer، RCSSMonitor و RCSSLogPlayer را از مخزن Rubuntu دریافت و نصب می نماییم:

sudo apt-get install rcssserver
sudo apt-get install rcssmonitor
sudo apt-get install rcsslogplayer

 

توجه نمائید که در هنگام صدور فرمان‌های بالا حتما به شبکه اینترنت متصل باشید.
 

2. نصب به‌صورت Offline:

در ابتدا سه بسته نرم‌افزاری RCSSServer، RCSSMonitor و RCSSLogPlayer را از پایگاه زیر دانلود کنید:

http://sourceforge.net/projects/sserver/files/

ابزارهای فوق به‌صورت .tar.gz فشرده شده‌اند. به روشی که جلسه پیش مطرح شد، آنها را Extract نموده و به‌صورت زیر کامپایل و نصب نمائید.

 

 ./configure
make
sudo make install

 

ابزارهای مذکور، پس از نصب، از هر مسیری در Terminal قابل اجرا هستند.
در ابتدا با استفاده از فرمان زیر، Server شبیه‌ساز را اجرا نمائید:

 

rcssserver



سپس با صدور فرمان زیر در یک Terminal جدید، نرم‌افزار Monitor را اجرا و به Server شبیه‌ساز متصل نمائید:

 

 rcssmonior

 توجه: به‌جای دو فرمان بالا، می‌توان از تک فرمان زیر برای اجرای Server و Monitor استفاده کرد:

 

 

rcsoccersim



در این لحظه، زمین مسابقه فوتبال توسط RCSSMonitor به تصویر کشیده شده و مشاهده می‌شود که بازیکنان بیرون
زمینند.

 

 

برای ورود بازیکنان هر تیم به داخل زمین باید Agent های آن تیم به عنوان Client به Server شبیه‌ساز متصل شوند.


Agent ها نرم‌افزار‌های خودمختاری هستند که به‌عنوان Client و از طریق پروتکل UDP/IP با سرور شبیه‌ساز فوتبال
ارتباط برقرار می‌کنند. بنابراین برای ساخت آنها از هر زبان برنامه‌نویسی‌ای که این پروتکل را پشتیبانی نماید می‌توان استفاده نمود. محبوب‌ترین زبان‌های برنامه‌نویسی برای این منظور، زبان های ++C و Java اند. Agent هایی که به یک زبان سطح بالا مثل ++C یا Java نوشته می‌شوند، برای اتصال به Server شبیه‌ساز فوتبال، باید به‌صورت یک فایل Binary کامپایل گردند. تیم‌های کامپایل‌شده به‌‌صورت Binary معمولا دارای یک اسکریپت به‌نام start.sh اند که با اجرای آن می‌توان Agent های تیم را به Server شبیه‌ساز متصل نمود. پایگاه زیر شامل Binary تمامی تیم‌های شرکت‌کننده در مسابقات رسمی است:

http://www.socsim.robocup.org/files/2D/binary/

 

Binary تیم‌های HELIOS2012 و WrightEagle را از پوشه مربوط به RoboCup 2012 دانلود کنید. این دو تیم، فینالیست‌های RoboCup 2012 بوده‌اند. آنها را Extract کرده و پس از اجرای Server شبیه‌ساز، در دو Terminal مختلف توسط اسکریپت‌های start.sh تیم‌ها را به Server متصل نمایید. مشاهده می‌کنید که بازیکن‌‌ها وارد زمین مسابقه می‌‌شوند.

 

 

باینری تیم WrightEagle برای اجرا نیاز به بسته نرم‌افزاری libboost-regex-dev دارد. بنابراین قبل از اجرای اسکریپت مربوطه، با فرمان زیر این بسته را نصب نمائید:

 

sudo apt-get install libboost-regex-dev

 

از آنجایی که در ساخت این تیم از نسخه 1.46.1 این بسته استفاده شده، پس از نصب می‌بایست در محیط Terminal به مسیر /usr/lib رفته و به‌کمک دستور انتقال (mv) نام فایل libboost_regex.so.1.49.0 را به libboost_regex.so.1.46.1 تغییر دهید.

 

 

در اینجا فرض ما بر این است که Server و Client ها بر روی یک کامپیوتر اجرا می‌شوند. اما در مسابقات RoboCup با توجه به حساسیت رقابت و سنگین بودن الگوریتم‌های هوشمند به‌کار رفته شده در Agent ها، نرم‌افزار‌های RCSSServer و RCSSMonitor بر روی یک کامپیوتر مرکزی نصب و اجرا شده و هر تیم Agent های مربوط به تیم خود را از طریق دو کامپیوتر جدا، به نرم‌افزار RCSSServer روی کامپیوتر مرکزی متصل می‌نماید. به عبارت دیگر به هر تیم دو کامپیوتر اختصاص داده می‌شود که روی هر کدام، 6 عامل از 12 عامل آن تیم اجرا می‌گردند. واضح است که برای اتصال به کامپیوتر مرکزی باید IP Address آن به Script مربوطه داده شود. برای مثال:

 

./start.sh 192.168.0.1 


پس از اینکه بازیکنان هر دو تیم وارد زمین شدند، داور انسانی گزینه Kick-Off را از منوی Referee روی RCSSMonitor
زده و بازی آغاز می‌شود...

 

 

در جلسه آینده با مفهوم Base Team آشنا شده و به معرفی تعدادی از Base Team های معروف خواهیم پرداخت





نوع مطلب :
برچسب ها : شبیه سازی ربات فوتبالیست،
لینک های مرتبط :




 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر