منبع پایان نامه ارشد درباره کتابخانه ها، کنترل هوشمند، ابزار ارتباط

بینی شده برای این روباتها در آینده کار در کارخانهها، منازل، شرکت در عملیات امداد و نجات، بازی فوتبال و در سطوح بالاتر استفاده از آنها در عملیات های نظامی و استراتژیک میباشد. روشهای هوش مصنوعی قابل پیادهسازی در این روباتها علت اصلی علاقه محققین هوش مصنوعی به این زمینه است به طوری که فوتبال روباتهای انساننما مدتی است که در مجامع علمی به عنوان بستری مناسب جهت پیاده سازی و آزمایش روشهای هوش مصنوعی جایگاه مناسبی پیدا کرده است و گرایش به انجام تحقیق در این زمینه با استقبال چشمگیری روبرو بوده است.
روبوکاپ18، انگیزه ها و اهداف
روبوکاپ عنوان مسابقاتی درزمینه دانش روباتیک وهوش مصنوعی است که بصورت سالیانه توسط فدراسیون بین‌المللی روبوکاپ19 برگزار می شود. روبوکاپ بزرگترین اقدام بشر در جهت عملیاتی شدن تحقیقات در حوزه هوش مصنوعی و روباتیک است. این مسابقات با فراهم آوردن چارچوب های مشخص و استاندارد، زمینه مناسبی جهت طراحی، پیاده سازی و ارتقای الگوریتم های هوش مصنوعی فراهم آورده است. ایده برگزاری روبوکاپ برای اولین بار در سال ???? توسط پروفسور آلن مکورث20 از کانادا در مقالهای تحت عنوان روباتهای بینا مطرح گردید. در 1993 گروهی از محققان کشور ژاپن به بررسی امکانپذیری برگزاری مسابقه فوتبال روباتها پرداختند که این بررسی‌ها منجر به تأسیس رقابتهای Robot J-League (که بعدها به روبوکاپ تغییر نام داد) شد. رقابت های روبوکاپ درسال 1996 بصورت رسمی آغازبکارکرد. هدف از برگزاری این مسابقات غالبا به صورت زیر مطرح شده می شود :
” در سال 2050 میلادی، یک تیم فوتبال از روباتهای هوشمند، در یک مسابقه رسمی با رعایت کلیه قوانین فیفا مقابل آخرین تیم قهرمان فوتبال انسانها به پیروزی خواهد رسید. “[4]
این مطلب شاید تا حدود زیادی خوشبینانه و غیر ممکن باشد اما تاریخ علم در موارد گوناگون اثبات کرده است که هر آنچه قابل گنجایش در تخیل بشر باشد، در آینده قابل دسترسی است کما اینکه پیشرفتهای قابل توجه در زمینه مسابقات روبوکاپ در همین مدت کوتاه نیز مؤید این امر میباشد. البته روبوکاپ علاوه بر این هدف بلند مدت، اهداف کوتاه مدتی را نیز دنبال میکند که در واقع ایحاد بستری مناسب و رقابتی جذاب جهت ارتقای روباتیک و هوش مصنوعی و همچنین افزایش گرایش عمومی به هوش مصنوعی و روباتیک با استفاده از جذابیت های مسابقات روبوکاپ میباشد[5]. روبوکاپ دربر گیرنده طیف وسیعی از تحقیقات در زمینههای هوش مصنوعی و روباتیک است که از جمله آنها می توان به مفاهیمی چون یادگیری ماشین21، بینایی ماشین 22، پردازش تصویر23، عمل در محیطهای چند عاملی24، هوش مصنوعی توزیع شده25، کنترل هوشمند روباتها و مفاهیم دیگر از این دست اشاره کرد[6]. به همین منظور سازمان جهانی روبوکاپ شاخههای مختلفی که هر یک در برگیرنده طیفی از مفاهیم بالا میباشد را معرفی کرده است. لیگ روباتهای انساننما، روباتهای امدادگر26، روباتهای مینیاب، روباتهای فوتبالیست27 اندازه متوسط، روباتهای فوتبالیست اندازه کوچک، شبیهسازی فوتبال28 و شبیهسازی امداد29 و نجات تعدادی از مهمترین این مسابقات میباشد[7].
لیگ شبیهسازی فوتبال شامل دو بخش مهم شبیهسازی دو بعدی30 و شبیهسازی سهبعدی31 میباشد. در محیط دوبعدی فضای مسابقه شبیه به یک تصویربرداری هوایی از محیط مسابقه است، به این ترتیب که عملکرد هر شی از محیط به فضایی دو بعدی نگاشته میشود و روباتها به شکل دایره دیده میشوند. در چنین فضایی اهمیت ویژگیهای محیطهای سه بعدی مانند جاذبه، مسئله حفظ تعادل و… از بین میرود. اما در محیط سهبعدی تمامی ویژگیهای یک زمین بازی واقعی در نظر گرفته میشود. در این محیط روبات ها به شکل انسان هستند در نتیجه تمامی مسائل مطرح درباره انسان، در مورد این روباتهای انساننما نیز صدق میکند و این شاخه زمینه گسترش فعالیت در حیطه روباتهای انساننما را فراهم آورده است. این فعالیتها شامل کار بر روی تواناییهای سطح بالا و سطح پایین روباتهای انساننما میباشد که زمینه ورود الگوریتمهای هوش مصنوعی را فراهم میکند. شکل 1-7 محیطهای شبیهسازی فوتبال دوبعدی و سهبعدی را نشان میدهد. این دو بخش بر مبنای استفاده از یک سیستم شبیهساز بنا نهاده شدهاند که در ادامه به معرفی آن خواهیم پرداخت.
شکل1-7 : محیط های شبیه سازی فوتبال دوبعدی و سه بعدی
شکل1-8 : محیط های شبیه سازی فوتبال دوبعدی و سه بعدی
نرم افزار شبیهسازی و مدل روبات32
1-4-1- شبیهسازی
نرم افزار شبیهساز که اصطلاحا به آن سرور شبیهسازی میگویند در حقیقت مسئول شبیهسازی تمامی عوامل دخیل در یک مسابقه فوتبال واقعی مانند وزن توپ، وزن بازیکنان، شرایط محیطی33 مانند وزش باد و… است. این نرم افزار مسئول شبیهسازی یک محیط زمان حقیقی34 و خطادار است به نحوی که دو تیم از روباتهای نرم افزاری را قادر به رقابت در برابر هم میسازد. سیستم شبیهسازی دو بعدی یک سیستم چند عامله ارزشمند برای تحقیق در همکاری توزیع شده اعضای تیمها، یادگیری ماشین و … است اما به علت دوبعدی بودن، نتایج حاصل قابل به آسانی انتقال به جهان واقعی نمیباشد به همین منظور در سال 2003 یک سیستم شبیهسازی سه بعدی و نزدیک به جهان واقعی به نام سیمسپارک35 پیشنهاد شد و برای اولین بار در سال 2004 مورد استفاده قرار گرفت.
سرور شبیه ساز سه بعدی36 Rcssserver3D یک شبیهساز سه بعدی بر اساس اسپارک و موتور پویای آزاد (ODE) 37است. اسپارک قادر به انجام محاسبات و پردازشهای توزیع شده چند عاملی میباشد[8]. این سیستم یک شبیهساز بر مبنای اجزای عمومی سیستم شبیهسازی چند عاملی فیزیکی است که در این پایاننامه اساس کار قرار میگیرد. برای روی آوردن به شبیهسازی و دست کشیدن از ساخت روبات دلایل بسیاری میتوان برشمرد، از جمله اینکه ساخت یک روبات از لحاظ زمانی و تجهیزات هزینهبر است و احتیاج به احاطه بر مسائل سخت افزاری دارد، روبات واقعی بر اثر استفاده مداوم دچار عیوب سخت افزاری میشود که بر هزینه زمانی و مالی میافزاید و… که تمامی این مسائل خصوصا ساخت روبات و درگیری با مسائل سخت افزاری فرصت را از محققین برای پرداختن به مسائل نرمافزاری و پیاده سازی و ارتقای الگوریتمها میگیرد. شبیهسازی با فراهم آوردن بستری مهیا، این فرصت را فراهم آورده است که بدون درگیری با مسائل جانبی، تمام توجه خود را بر روی ابداع، پیادهسازی و بهبود و ارتقای الگوریتمهای مورد نیاز متمرکز کنیم. البته شبیهسازی با تمام مزایایی که دارد، مشکلاتی نیز دارد که از جمله میتوان به خطاهای رخ داده در مدلسازیها، مشکلاتی در پیادهسازی الگوریتمهای شبیهسازی شده در محیط واقعی و… اشاره کرد. اما با وجود این مشکلات، مزایای شبیهسازی به حدی مهم و با ارزش هستند که کماکان شبیهسازی در بسیاری از موارد گزینه نخست است. همین مسائل، مسابقات شبیه سازی خصوصا شبیهسازی فوتبال را در زمره جذابترین بخشهای مسابقات روبوکاپ قرار داده است.
1-4-2- مدل روبات
روبات مورد استفاده در شبیهسازی فوتبال سهبعدی، در حال حاضر روبات انساننمای نائو میباشد. این روبات که هماکنون بازیگر اصلی صحنه مسابقات روباتیک خصوصا شبیهسازی فوتبال سه بعدی است، در سال 2008 به بازار معرفی شد دلیل اصلی جذابیت این روبات، نزدیکی قابلیتهای حرکتی این روبات به انسان است. این روبات همانگونه که در جدول 1-1 مشخص شده است، یک روبات انسان نمای با 22 درجه آزادی38 است که برای هر پا 6 تا، هر دست 4 تا و سر 2 درجه آزادی وجود دارد. همچنین این روبات دارای یک حسگر همه جهته39، موتورها و حسگرهای زاویهسنج جداگانه برای هر مفصل، یک سنسو زیروسکوپ40، یک ابزار ارتباطی41 ویک حسگر نیرو42 در هر پا میباشد. علاوه بر فوتبال، این روبات با استفاده از چهار میکروفن تعبیه شده در سر و سیستم پردازش صوتش قادر به برقراری ارتباط و صحبت کردن است. در نسخه شبیهسازی شده این روبات، تمامی مفاصل و سیستم مکانیکی روبات، موتورها و محرکهای روبات و حسگرهای آن توسط سیستم شبیهساز پیادهسازی میشود و تنها قسمت باقیمانده مغز روبات میباشد که بایستی توسط برنامه نویس، برنامه ریزی شود و به طور قطع الگوریتمهای پیاده سازی شده بایستی با شبیهساز و معماری آن سازگاری داشته باشند.
جدول 1-1 : مشخصات روبات نائو
نام روبات
ارتفاع
وزن
تعداد درجات آزادی
نائو
57سانتی متر
5/4 کیلوگرم
22-25 درجه آزادی
رقابتهای شبیهسازی فوتبال سه بعدی در حال حاضر در زمینی به ابعاد 21 در 14 متر بین دو تیم که هر یک دارای 9 بازیکن (عامل43) هستند انجام میشود. هر تیم بر روی یک کامپیوتر جداگانه اجرا میشود و مسابقه شامل دو نیمه 5 دقیقهای میباشد[7]. محیط شبیهساز فوتبال سه بعدی با تمامی ویژگیها و محدودیتها، زمینه مناسبی برای فعالیت در حیطه علوم روباتیک و هوش مصنوعی فراهم آورده است. در این پایاننامه از روبات نائو به عنوان روبات مورد آزمایش و از محیط شبیهساز فوتبال سهبعدی به عنوان بستری برای ارزیابی روش ها استفاده میکنیم.
1-4-3- کد پایه
کدهای پایه44 در زمینه مسابقات روبوکاپ در واقع بستری هستند به منظور فراهم آوردن امکانات لازم جهت پیاده سازی الگوریتمها و روشها. در زمینه فوتبال سه بعدی کد پایه ارتباط بین سرور شبیهسازی و عاملهای بازی را فراهم می آورد، و معمولا برخی از توانایی های پایهای لازم برای روبات فوتبالیست را در خود دارد به این ترتیب کد پایه احتیاج برنامه نویس برای درگیر شدن با جزئیات را بر طرف میکند و به او این امکان را میدهد که بدون توجه به جزئیات، به پیاده سازی تواناییهای متنوع بپردازد. در زمینه شبیهسازی فوتبال سهبعدی، اکثر تیمها کدهای پایه مربوط به خود را منتشر کردهاند که برای تیمهای دیگر قابل استفاده است. این کار در این مورد نیز مانند سایر پروژههای متن باز45 باعث رفع خطاهای منطقی موجود در کدها و بهینهتر شدن کدهای منتشر شده، شده است. بسیاری از این کدها را میتوان از پایگاه اینترنتی پروژههای متن باز sourceforge.net دریافت کرد. یکی از معروفترین کدهای پایه در شبیهسازی فوتبال سه بعدی، کد پایه تیم Nexusاز دانشگاه فردوسی مشهد است. بعد از دریافت کد و استخراج آن، مشاهده می شود که کد پایه به دستههای doc و lib، src تقسیم میشود که به ترتیب حاوی کد منبع تیم، کتابخانه های مورد استفاده و مستندات تولید شده توسط Doxygenاست. به منظور کامپایل کردن کد، به نرم افزار CMake جهت ایجاد پیش نیازهای کامپایل کد نیاز داریم. کد تیم از نظر تئوری در تمامی پلتفرم هایی که از g++ و Cmake پشتیبانی میکنند قابل استفاده میباشد.
برای کامپایل کردن کد کافیست شاخه ای به عنوان نمونه با نام build در ریشهی کد ایجاد کرده و با اجرای دستور cmake نسبت به ایجاد فایل های مورد نیاز جهت کامپایل و اجرای کد اقدام نماییم. با این کار فایل هایی از جمله start.sh(اسکریپت موجود برای اجرا کردن تیم) ایجاد میشوند و با اجرای دستور make کد تیم کامپایل شده و فایل nexus3D به عنوان فایل اجرایی تیم تولید میگردد. جدول 1-2 به طور خلاصه به محتویات شاخه های موجود در کد پایه میپردازد.
جدول 1-2 : محتویات شاخه های موجود در کد پایه
کاربرد
نام شاخه
محل قرار گرفتن فایل اجرایی تیم به همراه اسکریپت ها و فایل های مورد نیاز
/bin
محل قرار گرفتن فایل های مورد نیاز جهت کامپایل کد پایه
/build
محل قرار گرفتن مستند سازیهای موجود در کد پایه
/doc
محل نگهداری از کتابخانه های مورد استفاده
/lib
محل قرار گرفتن کدهای تیم
/src
کد پایه تیمNexus مانن

مطلب مرتبط با این موضوع :  پایان نامه با کلید واژه هاینرم افزار

دیدگاهتان را بنویسید