جلسه پیش به معرفی نرمافزار RCSSServer پرداختیم. در این جلسه با نرمافزارهای RCSSMonitor و RCSSLogPlayer آشنا خواهید شد.
نرمافزار RCSSServer بازی فوتبال را شبیهسازی میکند اما آن را به تصویر نمیکشد. نرمافزار نمایشگر شبیهساز فوتبال روبوکاپ (RoboCup Soccer Simulation Monitor) بهعنوان یک سرویس گیرنده (Client) به سرور شبیهساز فوتبال متصل شده، وقایع درون آن را بهصورت گرافیکی بهتصویر کشیده و همانند یک بازی ویدئویی به نمایش در میآورد.
نام و تعداد گل های هر تیم، شماره Cycle بازی، موقعیت توپ و بازیکنان در زمین و ... از جمله مواردی است که نرمافزار RCSSMonitor در هر لحظه به تصویر میکشد. از طرفی این نرمافزار رابط داور انسانی (Human Referee) با نرمافزار سرور شبیهساز نیز است. بهعنوان مثال پس از اتصال Agent ها به Server شبیهساز، داور انسانی با کلیک کردن بر روی دکمه Kick-Off در نرمافزار RCSSMonitor، دستور آغاز بازی فوتبال را به Server میدهد. علاوه بر نرمافزار استاندارد RCSSMonitor، نرمافزارهای Monitor دیگری نیز توسط افراد و تیمهای مختلف و با اهداف گوناگون منتشر شدهاند که هر یک در جایگاه خود هنگام تحلیل رفتار تیم میتوانند مفید واقع شوند. اما نمایشگر اصلی در مسابقات RoboCup همان RCSSMonitor است. لازم به ذکر است که همزمان میتوان بیش از یک Monitor را به سرور شبیهساز متصل کرد. در این صورت هر Monitor به شیوه خود بازی را به تصویر میکشد.
و این هم شاید نوعی مانیتور...!
در یک مسابقه فوتبال واقعی، مربیان و تحلیلگران برای بررسی عملکرد تیمها در یک بازی انجام شده، از بازی فیلمبرداری کرده و تصاویر ضبطشده را بارها مورد بازبینی و مطالعه قرار میدهند.
در شبیهسازی فوتبال نیز آنالیز بازیای که قبلا انجام شده، برای کشف نقاط قوت و ضعف یک تیم بسیار مهم است. از این رو نرمافزار Server شبیهساز هنگام اجرای هر بازی از آن یک گزارش لحظه به لحظه (Log) تهیه نموده و بر روی حافظه جانبی رایانه ذخیره میکند. این گزارش همانند ویدئوی ضبط شده از مسابقه فوتبال است.
در واقع پس از اتمام بازی، دو فایلِ Log با پسوندهای .rcg و .rcl در مسیری که Server شبیهساز قرار دارد ایجاد میشوند که از آنها میتوان برای تحلیل استراتژی تیمها و یافتن اشکالات احتمالی بهره برد.
فایل با پسوند rcl، یک فایل متنی (کد شده به صورت ASCII) شامل کلیه Message هایی است که Agent های دو تیم به Server شبیهساز ارسال نمودهاند. در این فایل شماره Cycle و شماره Agent ارسالکننده پیام (شماره پیراهن بازیکن) نیز در کنار هر پیام آمده است و شما میتوانید با خواندن محتوای این فایل، عملکرد تیم در بازی مربوطه را تحلیل نمائید. به عبارت دیگر، فایل با پسوند rcl برای خوانده شدن توسط انسان، تولید میشود (Human Readble است).
اما فایل با پسوند rcg یک فایل Binary (به زبان ماشین) بوده و برای انسان خوانا نیست (Machine Readble است). این فایل که شامل کلیه Message ها و دانشهای محیطی سرور است، توسط نرمافزار استانداردی بهنام RoboCup Soccer Simulation Log Player قابل خواندن است. این نرمافزار، فایل با پسوند rcg را گرفته و همانند یک دستگاه Video Player بازی انجام شده را بازپخش مینماید.
RCSSLogPlayer نیز همانند RCSSServer برای به تصویر کشیدن مسابقه در حال بازپخش، به یک Monitor مثل نرمافزار RCSSMonitor نیاز دارد. پس از اتصال RCSSMonitor به RCSSLogPlayer، دقیقا همانند یک دستگاه Video Player میتوانید از دکمههای Play، Stop، Fast Forward و Rewind برای کنترل اجرای بازپخش و رسیدن به یک Cycle خاص از بازی استفاده نمائید. همچنین امکان پرش مستقیم به یک Cycle خاص با دادن شماره آن Cycle نیز امکانپذیر است.
برای اجرای یک فایل با پسوند rcg توسط RCSSLogPlayer از فرمان زیر در Terminal استفاده میشود:
rcsslogplayer LogName.rcg
توجه کنید که برای اجرای فرمان بالا ابتدا باید نرمافزار RCSSLogPlayer را نصب کرده باشید.
برای دریافت Log بازیهای معروف از جمله مسابقات RoboCup میتوانید به لینک زیر مراجعه نمائید:
http://www.socsim.robocup.org/files/2D/log/
تحلیل Log بازیهای معروف میتواند به شما برای تعیین استراتژیهای تیمتان کمک نماید.
نرمافزار RCSSClient ابزاری است که همراه با RCSSServer نصب شده و توسط آن میتوانید خودتان به صورت دستی به Server شبیهساز Message ارسال کرده و نتیجه آن را مستقیما مشاهده کنید. این نرمافزار معمولا برای تست و مشاهده عملکرد پیامها در Server شبیهساز مورد استفاده قرار میگیرد و به اندازه سه ابزار قبلی کاربرد ندارد. به دانشپژوهان توصیه میگردد Message هایی را که با آنها آشنا شدهاند توسط این ابزار به Server شبیهساز ارسال کرده و نتیجه آن را روی نرمافزار Monitor مشاهده نمایند.
هر چهار ابزار فوق بهصورت آزاد و رایگان توسط فدراسیون جهانی RoboCup منتشر شدهاند. جلسه آینده به روش دانلود، نصب و اجرای آنها خواهیم پرداخت و نهایتا شاهد اجرای یک مسابقه شبیهسازی فوتبال خواهید بود.
پایان جلسه هفتم
حمیدرضا حسین خانی