1-1 روبات تعقیب خط چیست
روبات تعقیب خط ماشینی است که می تواند یک مسیر را دنبال کند. مسیر می تواند مرئی باشد مانند یک خط مشکی بر یک سطح سفید (تعقیب خط) و یا نامرئی مانند یک میدان مغناطیسی در فضای ازاد باشد. هدف طی مسیر بابیشترین سرعت و کمترین خطا نسبت به مسیر تعیین شده است. کاربرد های عملی یک چنین روباتی شامل اتومبیل های خودکار که جاده را از طریق یک مسیر راهنمای مغناطیسی دنبال می کنند یا روبات های کارگر که در کارخانه ها مسیر مشخصی را از طریق خطوط رنگی حک شده بر کف ان طی می کند می شود.
روبات تعقیب خط روباتی ایده ال برای روبات سازان اماتور می باشد. حس کردن خط و واداشتن روبات به حرکت بر روی ان به همراه اصلاح دائمی حرکت های نادرست از طریق یک مکانیزم فیدبک یک حلقه بسته ساده را ایجاد میکند.
صورت مسئله ساخت روبات تعقیب خط در مسابقات مختلف دارای جزئیات زیاد و بعضا متفاوتی است اما اصل موضوع در همه انها این است که روبات باید بتواند یک خط مشکی به عرض 1.8 سانتی متر(معمولا چسب برق) را در یک صفحه سفید دنبال کند.یعنی وقتی در ابتدای خط
شکی تنظیم و سپس روشن شود بدون نیاز به دخالت کاربر به دنبال خط مشکی حرکت کند در شکل بالا روباتی که قصد ساختن ان را داریم به همراه مسیر ان مشاهده می شود.
البته در بعضی روبات های پیشرفته تر نیازی به تنظیم کردن روبات روی خط مشکی نیست و خود روبات به صورت هوشمند خط را پیدا می کند که این بخاطر برنامه خوب نوشته شده برای میکرو ان توسط سازنده است. در روباتی که در این پروژه ساخته می شود سعی شده است این اصل رعایت شود.
1-2 بلوک دیاگرام یک روبات تعقیب خط
از نظر کلی هر روبات باید
• از طریق سنسور هایش ( حسگر ها ) اطلاعاتی را از دنیای خارج جمع آوری کند
• این اطلاعات را به اطلاعات قابل فهم مغز پردازشگر خود تبدیل و به آن منتقل کند
• بر طبق برنامه ریزی قبلی ، اطلاعات را پردازش و تصمیم مناسب را اتخاذ کند
• تصمیمات نهایی را به کمک عملگرهایش اجرا کند.
تفاوت روبات های مختلف به ماهیت این مراحل برمی گردد .
روبات تعقیب خط هم همین اجزاء را درون خودش دارد :
• برای حس کردن خط به دست کم دو سنسور نوری که تفاوت رنگ سفید و مشکی را درک کنند نیاز دارد . این سنسورها انواع مختلفی مانند دیود مادون قرمز ، مقاومت متغیر با نور (فوتوسل )، فوتو – ترانزیستور و . . . دارند .
• اطلاعات سنسور از طریق یک مدارسوییچ یا مبدل آنالوگ به دیجیتال به واحد پردازشگر منتقل می شود .
• مغز پردازشگر این روبات می تواند یک مدار منطقی یا یک میکروکنترلر از هر نوعی باشد . روبات باید در قبال منحرف شدن خط ، واکنش مناسب نشان دهد.
• تصمیم واحد پردازشگر مبنی بر ادامه مسیر یا پیچیدن به چپ و راست از طریق فرمان هایی که به موتورهای روبات که ممکن است از نوع DC ( آرمیچر) یا پله ای ( Stepper ) باشند داده می شود ، انجام می پذیرد .
بلوک دیاگرام یک روبات تعقیب خط
با دو سنسور را در شکل مقابل می بینید :
1- 3 عملکرد روبات تعقیب خط
روبات تعقیب خط دست کم دارای دو سنسور نوری است که دو طرف مشکی در زمینه سفید قرار می گیرند ( تعداد سنسورها به طریقی که خواهیم دید می توان بیش از دو عدد باشد )برای اشکار سازی یک مسیر رنگی بر روی سطحی که اختلاف رنگ زیادی با مسیر دارد(مسیر مشکی بر سطح سفید یا مسیر سفید بر سطح مشکی) عموما از حسگرهای مادون قرمز استفاده می شود. هر حسگر بر اساس انکه بر روی مسیر رنگی قرار داشته باشد یا خیر یک سیگنال خروجی انالوگ تولید می کند.مدارات الکترونیکی برخی از روبات های تعقیب خط ابتدا سیگنال تولید شده را توسط یک مقایسه کننده با یک مدار مرجع مقایسه و نتیجه ی دیجیتال حاصل که یکی از دو حالت "روشن" یا "تیره" است را به قسمت کنترلر ارسال می کنند. بدین ترتیب اطلاعاتی که از حسگر به دست می اید فقط دارای دو حالت "حسگر بر روی مسیر قرار دارد" و " حسگر خارج از مسیر قرار دارد" خواهد بود و هیچ حالت دیگری در این بین وجود نخواهد داشت.
در مقابل در برخی دیگر از روبات های تعقیب خط سیگنال انالوگ حسگرها توسط مبدل انالوگ به دیجیتال به مقادیر دیجیتال تبدیل شده و به بخش کنترلر فرستاده می شود. با این روش معلوم
می شود که هر حسگر تا چه اندازه بر روی مسیر قرار دارد یا از ان منحرف شده است. که البته روباتی که قصد ساخت ان را داریم از روش اول بهره می گیرد یعنی اطلاعات هر سنسور را توسط یک مقایسه کننده به صورت یک یا صفر تبدیل کرده بعد به کنترلر ارسال می کند.
اطلاعات ارسالی از سنسورها که ممکن است به صورت انالوگ یا دیجیتال (صفر و یک) باشد به بخش پردازشگر روبات که می تواند از مدارات منطقی یا یک میکر کنترلر تشکیل شده باشد فرستاده می شود دراین قسمت که در واقع مغز روبات می باشد با استفاده از اطلاعات سنسورها وضیعت روبات را نسبت به خط (میسر) تشخیص داده و برای ادامه یا اصلاح مسیر دستوراتی را به موتورها و یا عملگرها ی روبات ارسال می کند که ممکن است روبات به سمت چپ یا راست یا میسر مستقیم حرکت کند.
دستورات بخش پردازشگر به صورت دیجیتالی (صفر یا یک) است که توسط قسمتی به نام درایور باید تشخیص داده شود وموتورها را کنترل کند. در واقع ما بین پردازشگر و موتورها یا عمل کننده ها بخشی به نام درایور داریم.
در زیر عملکرد یک روبات تعقیب خط 2 سنسوره را طبق انچه در در قسمت فوق توضیح داده شد به صورت گرافیکی مشاهده می کنید:
ر شکل زیر انواع این روبات ها را مشاهده می کنید:
روباتی که ما قصد ساختن ان را در این پروژه داریم از سیستم نوع سوم برای حرکتش بهره می گیرد حرکت این روبات به صورت زیر عمل می باشد:
هرگاه روبات در حین حرکت به انحرافی در خط مشکی برخورد کند ، یکی از سنسورهایش وارد خط می شود ؛ مثلاً اگر خط مشکی به راست منحرف شود ، سنسور سمت راست روبات وارد خط مشکی می شود . روبات باید با توجه به سنسوری که وارد خط شده انحراف خط را متوجه شود و به همان جهت بپیچد . ساده ترین راه برای پیچیدن یک سمت ، خاموش کردن موتور همان سمت و ادامه کار موتور سمت مخالف است .
برای پیچیدن به شیوه حرفه ای تر می توانید به جای خاموش کردن موتور سمت موافق ، آن را در جهت معکوس بچرخانید .
با این کار روبات در حین پیچیدن روی زمین کشیده نمی شود و می تواند درجا بچرخد .
چرخیدن روبات باید تا آن جایی انجام شود که سنسوری که وارد خط شده بود ، از خط خارج شود ؛ یعنی مجدداً تمام سنسورها خارج خط قرار گیرند تا روبات بتواند به حرکت عادی خود ادامه دهد .