PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ساخت ربات لابیرنت هوشمند با تکنولوژی جدید PLL در صفحه Maze



sunyboy
07-30-2009, 12:33 AM
خلاصه : ربات لابيرنت يك ربات هوشمند است. ميتوان گفت يك نمونه بسيار ساده از هوش مصنوعي در آن به كار برده شده است. به طور كلي اطلاعات محيط اطراف كه به صورت فيزيكي است در ابتدا به اطلاعات الكتريكي تبديل ميشود که اين كار به وسيله سنسورها صورت مي گيرد. در این پروژه راه اندازي سنسورها با یک شیوه جدید استفاده از PLL صورت میگیرد که سرعت حرکت را بالا برده و اثر نویز را از بین میبرد. كار ربات لابيرنت حل صفحه Maze است. اين ربات مي تواند از بين ديواره هاي يك الگوي Maze عبور كند، به ديواره ها برخورد نكند، وارد مسير بسته نگهداري نشود، وارد خانه تله نشود، خانه مقصد كه مختصات آن از قبل داده شده است را بيابد، در آن خانه توقف كند و يك LED را به منظور اتمام عمليات جستجو، روشن نماید.

کلمات کلیدی : لابیرنت ، صفحه Maze ، سیستم PLL ، خانه هدف

1- مقدمه

هوش مصنوعی دانش جوانی است که از سال 1956 میلادی آغاز شده است. اولین کار جدی در این زمینه توسط وارن مک کلود و والته پیتر انجام شده است.
در ربات لابیرنت یک نمونه از هوش مصنوعی استفاده گردیده است، که توانایی تصمیم گیری به ربات را میدهد. در ابتدا اطلاعات محیط اطراف که به صورت فیزیکی است توسط سنسورها و ترانسدیوسرها به اطلاعات الکتریکی تبدیل میشود. اطلاعات الکتریکی که همان صفرها و یک ها می باشند، پس از تقویت وارد بخش پردازش شده و در پایان پس از تجزیه و تحلیل اطلاعات نتیجه به صورت یک علامت الکتریکی درآمده و در خروجی بخش کنترلی دستکاه ظاهر میشود که باعث روشن یا خاموش شدن موتورها میگردند.
هر سال درزمینه ساخت ربات های هوشمند درسطح کشور مسابقاتی برگزار می گردد که ربات لابیرنت نیز یکی از رشته های این مسابقات می باشد. در ربات حاضر با نوآوریهایی که در بخش سنسورها، مسیریابی و حرکت صورت گرفته، امید است که این ربات بتواند در این رشته عنوان نخست را کسب کند.
براي جلوگيري از برخورد به ديواره ها در چهار طرف ربات سنسورهای لازم به كار برده شده است كه این سنسورها، قبل از برخورد ربات به ديواره ها آن را تشخيص مي دهند و از برخورد و انحراف ربات جلوگيري مي كنند.

2- مشخصات صفحه Maze

Maze یا همان هزارتو از يك صفحه شطرنجي و ديواره ها تشكيل شده است. ديواره ها طوري روي صفحه چيده شده اند كه چند راه به خانه مقصد وجود دارد و تعدادي راه انحرافي كه بن بست ميباشند. در ضمن تعدادي از خانه هاي صفحه به عنوان خانه تله ناميده ميشود كه ربات نبايد وارد آنها شود. خانه تله با خانه هاي ديگر هيچ فرقي از لحاظ شكل ظاهري ندارند و فقط مختصات آنها به صورت كد باينري داده مي شود. ربات از روی خانه ها و لا به لای دیواره های Maze حرکت میکند و همواره مسیر حرکت را به گونه ای انتخاب می نماید که به خانه مقصد نزدیکتر شود. ممکن است در هنگام مسیر یابی وارد مسیر بن بست گردد. ربات وارد هر مسیر بسته ای که می شود آن را در حافظه ثبت میکند تا دیگر به آن مسیر تکراری باز نگردد.
سنسورهای اطراف، مانع برخورد ربات به دیواره ها میشوند و سنسورهای کف هم مختصات مکانی ربات را به صفحه نمایشگر و سیستم پردازشگر برده و هم انحراف در حرکت ربات را تشخیص میدهند و از این طریق است که ربات، انحراف را اصلاح میکند.
ربات به هنگام رسیدن به خانه تله دور می زند و وارد مختصات تله نمی شود و مسیر دیگری برای رسیدن به مقصد انتخاب می کند هر چند آن مسیر طولانی تر باشد. تصویر شماره (1) یک نمونه از صفحه Maze را نمایش میدهد که برای این پروژه ساخته شده است.

http://pnu-club.com/imported/2009/07/1655.jpg
تصویر شماره (1)- یک نمونه از صفحه Maze

3- نيروی محركه

براي به حركت درآوردن ربات از موتورهاي پله اي استفاده شده است. موتورهاي پله اي نسبت به موتورهای DC ساده از دقت بسيار بالايي برخوردار هستند و مي توانند به ميزان كسري از درجه بچرخند و اين توانايي باعث مي شود كه ربات بتواند در هنگام دور زدن دقيقاً به ميزان ْ 90 و يا هر زاويه اي ديگري (حداقل 1.8 درجه) بچرخد.
براي تعيين چپگرد يا راستگرد بودن موتور پله اي نميتوان مانند موتورهای DC ساده جاي قطب مثبت و منفي را عوض كرد بلكه بايد جهت اعمال پالس به موتور را تعویض نمود.
در اين ربات از موتور ( ّْ 1.8 و V 5) استفاده شده است كه مي تواند به ميزان حداقل ْ 1.8 بچرخد. پالس مورد نياز براي حركت موتور از ميكروكنترلر AVR گرفته میشود.
چرخهاي مورد استفاده از جنس پلاستيك خشك ميباشد كه يك لايه لاستيكي نرم در اطراف آن براي افزايش اصطحكاك چرخ با صفحه Maze كشيده شده است. قطر آنها حدود cm8 و ضخامت آنها نیز mm5 است. استفاده از چرخهای فلزی باعث افزایش وزن ربات و کاهش سرعت ان میگردد.
به دليل قدرت بالای این موتورها در اتصال موتور به چرخ، ديگر از گيربكس استفاده نشده است و محور موتور مستقيماً به چرخ وصل میگردد. براي حركت ربات از دو استپرموتور استفاده میشود. سيستم حركتي ربات تقریبا شبيه سيستم حركتي یک تانك ميباشد. هرگاه ربات نياز به چرخش ْ 90 داشته باشد هر دو چرخ طوري عكس يكديگر مي چرخند كه ربات در جاي خودش ْ 90 بچرخد و اگر نياز به چرخش ْ 180 باشد ربات دور نميزند بلكه وضعیت حالت قبل مجددا تکرار میشود.
براي اينكه حركت ربات روي صفحه Maze راحتتر صورت گيرد از دو هرزگرد در دو طرف (زيرشاسي) استفاده شده است كه باعث مي شود وزن ربات روي چرخها نيافتد.
تصویر شماره (2) استپر موتورهای ربات که دو عدد بوده و به چرخها متصل شده اند را نشان میدهد.

http://pnu-club.com/imported/2009/07/1656.jpg
تصویر شماره(2)- شمای موتورهای محرک ربات

4- سنسورها

برای ارتباط ربات با محیط اطراف از سنسور استفاده میشود. برای راه اندازی سنسورها روشهای مختلفی وجود دارد اما استفاده از مدارات تقویت کننده در تمامی آنها مشترک میباشد.
4-1- راه اندازی سنسورهای مادون قرمز
بعضی سنسورها كه براي تشخيص ديواره ها و مسيريابي مورد استفاده قرار گرفته شده از نوع فرستنده و گيرنده مادون قرمز مي باشند. با کمی دقت در محیط اطراف می بینیم که جاهای زیادی از این نوع سنسورها کار شده است. در سیستمهای کنترل از راه دور دستگاههایی مانند تلویزیــون، VCD، دربهای اتوماتیک، موسهای نوری در کامپیوترها و ....
مدار راه اندازی این سنسورها با یکدیگر متفاوت است. سنسورهای مادون قرمز استفاده شده در ربات وظیفه تشخیص مانع در مسیر حرکت ربات قبل از برخورد ربات به آن و تعیین مختصات ربات در صفحه را بر عهده دارند و به گونه ای در اصلاح انحرافات حرکتی نیز موثر میباشند.
براي راه اندازي سنسورهای مادون قرمز چند روش وجود دارد.
4-1-1- راه اندازی مستقیم
در این روش فرستنده در باياس مستقيم و گيرنده در باياس معكوس قرار میگيرد.
4-1-2- راه اندازی با OP-AMP
روش دیگر استفاده از OP-AMP میباشد. در راه اندازي به وسيله OP-AMP مدار مانند يك مقايسه كننده عمل ميكند به اين ترتيب كه گيرنده به صورت معكوس به پايه منفي وصل شده در صورتی که پايه مثبت OP-AMP به ولتاژ مرجع وصل ميگردد.
در هر دو روش مذکور اشكال اين مدارات آن است كه در نورهای ارسالی از وسایلی شبیه فلشرها، ‌لامپهاي نئون، نور خورشيد و ... اشعه مادون قرمز وجود دارد كه به صورت نويز روي گيرنده اثر ميگذارد.
در اکثر رباتها از این دو روش استفاده شده است. اما با توجه به مشکلات فوق، در این رباتها سراغ مکانیزم جدید استفاده از PLL رفته تا اثر نویز به حداقل مقدار ممکن برسد.
4-1-3- راه اندازی به وسیله ترانزیستور
در این روش ترانزیستور به صورت یک تقویت کننده عمل می کند و جریان خروجی گیرنده توسط یک یا چند ترانزیستور تقویت میگردد. این روش نیز همانند روشهای قبلی مشکل نویز پذیری نور محیط را دارد. علاوه بر آن بایاس کردن چند طبقه تقویت کننده های ترانزیستوری هم حجم بالا و هم هزینه بالا را در بر دارد.
4-1-4- راه اندازی با PLL
در راه اندازي سنسورها با استفاده از PLL فرستنده باياس DC نميشود. بلكه با ارسال و دريافت يك فركانس خاص مانع را تشخيص ميدهد. در PLL يك نوسان ساز وجود دارد كه يك فركانس ثابت 4.5KHz توليد ميكند. اين فركانس به فرستنده مادون قرمز اعمال میشود. گيرنده بازتاب اين فركانس را در صورت وجود مانع دريافت مي كند و به PLL ارسال میکند. در داخل این IC يك مقايسه كننده وجود دارد كه فركانس و دامنه سيگنال ارسالي را با سيگنال دريافتي از گيرنده مقايسه کرده که در صورت برابري فركانس آنها، پايه خروجي PLL برابر يك منطقي ميشود و وجود مانع محرز میگردد. اگر مانعی وجود نداشته باشد گيرنده، سيگنال ارسالي را دريافت نميكند. در اين روش به دليل استفاده از فركانس 4.5KHz و مدار مقايسه كننده، نويزپذيري از محيط اطراف بسيار كاهش می یابد.
برتري ديگر PLL تنظيم برد سیگنال ارسالی آن است كه به وسيله يك پتانسيومتر ميتوان آن را از 0.5Cm تا 12Cm تنظيم كرد. در اين ربات 4 سنسور در اطراف براي تشخيص ديواره ها و دو سنسور در كف براي تشخيص موقعيت ربات در صفحه Maze و اصلاح انحراف حركتي ربات وجود دارد كه همگی به وسيله PLL راه اندازي میشوند.
4-2- تصحیح انحراف مسیر ربات با سنسورها
چهار سنسور در اطراف ربات تعبیه شده است که وظیفه تشخیص دیواره ها و جلوگیری از برخورد ربات به این دیواره ها را دارد. فرستنده و گیرنده به موازات هم و در یک جهت قرار گرفته اند. هرگاه ربات به دیواره نزدیک میشود، گیرنده بازتاب سیگنال فرستنده را دریافت می کند و متوجه مانع در مسیر حرکت میشود . فاصله سنسورهای کف تا صفحه همواره ثابت است و این رنگ خانه ها است تعیین می کند که خروجی مدار سنسور، یک یا صفر باشد.
تصویر شماره (3) سنسورهای اطراف صفحه بالایی ربات را به نمایش میگذارد.

http://pnu-club.com/imported/2009/07/1657.jpg
تصویر شماره(3)- سنسورهای اطراف صفحه بالایی ربات



همانگونه که از تصویر شماره (1) پیداست، صفحه Maze از خانه های شطرنجی سیاه و سفید تشکیل شده است. هرگاه فرستنده و گیرنده در خانه سفید باشند به دلیل اینکه رنگ سفید، نور تابیده شده را بازتاب میکند گیرنده بازتاب نور را دریافت کرده و خروجی در سنسورها یک منطقی میشود.
رنگ سیاه چون نور را جذب میکند و آن را انعکاس نمیدهد، گیرنده بازتاب سیگنال ارسالی فرستنده را دریافت نمیکند و خروجی سنسورها صفر منطقی میگردد. حال سیستم کنترل با هر بار تغییر وضعیت همزمان سنسورهای کف ربات، متوجه می شود که وارد چه خانه ای با چه مختصاتی شده است.
( مختصات خانه مبدا و تمامی خانه های صفحه به ربات داده نمی شود).
دو سنسور کف هر دو در یک راستا قرار گرفته اند. اگر دو سنسور همزمان وارد خانه جدید نشوند (یکی از سنسورها پس از دیگری تغییر وضعیت دهد) نشان دهنده انحراف ربات است. یعنی ربات مستقیم حرکت نمی کند.
میزان انحراف از فاصله زمانی بین تغییر وضعیت سنسور اولی تا تغییر وضعیت سنسور بعدی به دست می آید. هر چه این زمان بیشتر باشد نشان دهنده انحراف بیشتر است. در بخش برنامه نرم افزاری مشخص میگردد که میکرو چگونه باعث اصلاح این انحراف می شود.
به طور خلاصه براي اصلاح اين انحراف موتور سمت سنسوري كه اول وارد خانه جديد شده به اندازه فاصله زماني وارد شدن سنسور دوم توقف ميكند. ميكروكنترلر مورد استفاده در سیستم مرکزی این ربات از نوع AVR ATmega 16 ميباشد.

5- نحوه مسیر یابی و پیدا کردن خانه مقصد

در ابتدا به هر کدام از خانه های صفحه Maze یک کد باینری داده میشود. این کد همان آدرس خانه است. با تعیین آدرس خانه مبدا و قرار گرفتن ربات برای شروع حرکت در آن خانه، ربات پس از حرکت میداند در چه خانه ای با چه آدرسی قرار گرفته و با خانه مقصد چند خانه فاصله دارد.
هرگاه ربات در مسیر حرکت، به دو راهی یا سه راهی برسد، همواره آدرس خانه ای را در اولویت قرار میدهد که از لحاظ مختصات به خانه مقصد نزدیکتر باشد. اگر دو خانه اولویت یکسانی نسبت به خانه هدف داشته باشند، ربات ابتدا در مسیر مستقیم حرکت می کند. اگر مسیر سمت چپ یا راست ربات باشد، ربات مسیر سمت راست را در اولویت قرار می دهد.
ربات تمامی مسیرهای رفته را در حافظه ثبت میکند و مسیرهای بن بست را دوباره نمی رود و هرگاه به خانه تله میرسد ربات به عقب باز میگردد تا مسیر جدیدی برای ادامه حرکت پیدا کند.

6- نتایج

بشر همواره در این فکر بوده که از خلاقیتی که خداوند در وجود او مستتر نموده استفاده نماید و وسایل آسایش و امنیت امروز و فردای خود و همنوعان خویش را فراهم سازد. یکی از این آثار ساخت ربات است که از سالها پیش آغاز گشته و افراد مختلف در زمینه های متفاوت من جمله در صنعت از این وسیلهء معجزه آسا بهره برده اند.
ساخت ربات لابیرنت بعنوان یک ربات هوشمند که بتواند تحت نرم افزار پشتیبان خود خانه هدف را در صفحه شطرنجی Maze بیابد نیز نتیجه این افکار میباشد. یکی از پارامترهایی که همیشه و در هر حال مدنظر طراحان بوده و هست، مسئله انجام عملیات در زمان حداقل میباشد. البته بدست آوردن زمان کمتر نباید منجر به هزینه های سنگین و غیر بهینه گردد. بلکه این ایده های جدید است که با جایگزینی ایده های قدیمی این مهم را به عرصه نمایش میگذارد.
در این طرح رباتی ساخته شده است که با استفاده از تکنولوژی جدید طراحی شده برای آن، میتواند با سرعت بالایی نسبت به مدلهای ساخته شده قبلی خانه هدف را بیابد.

مراجع

[1] Dr. VALTER ، کتاب "چگونه ربات بسازیم"، Mac. Graw. Hill، 1384.
[2] ST.CHAP MAN، کتاب "مبانی ماشینهای الکتریکی"، ترجمه دکتر سپیدنام، دانشگاه مشهد، 1383.
[3] مهندس محمدرضا موسوی، کتاب "پروژه های الکترونیک"، انتشارات پرتونگار، 1383.
[4] CH. DESSOR، کتاب "تحلیل مدارهای الکتریکی"، ترجمه دکتر جبه دار، دانشگاه تهران، 1380.
[5] FIPPA، کتاب "TTL POCKET GUIDE"، دانشگاه هرمزگان، (VOLUME 1)، 1383.
[6] FIPPA، کتاب "TTL POCKET GUIDE"، دانشگاه هرمزگان، (VOLUME 2)، 1383.
[7] FIPPA، کتاب "TTL POCKET GUIDE"، دانشگاه هرمزگان، (VOLUME 3)، 1383.
[8] LAN R SINCLAIR، کتاب "سنسورها و ترانسدیوسرها"، انتشارات نشر طراح، 1383.
[9] مهندس علی کاهه، کتاب "میکرو کنترلرهای AVR"، انتشارت نص، 1384.
[10] YAN VARNAC، کتاب "PLC در اتوماسیون صنعتی"، ترجمه مهندس شجایی، انتشارات نص، 1384.
[11] نرم افزارهای "PROTEL XP، AUTO CAD MECH.2006، BASCOM 1.11.7.4".
[12] سورنگار بالامانچی، کتاب " VHDL مقدماتی"، مترجم: فرناز منهویی، انتشارات نص، 1384.