تبلیغات
روبوکوپ - الگوریتم تعقیب خط در یک ربات مسیریاب

جامع ترین سایت ساخت و فروش اسپمر با قیمت مناسب

الگوریتم تعقیب خط در یک ربات مسیریاب

نویسنده :برنامه نویس
تاریخ:شنبه 23 اردیبهشت 1391-01:12 ب.ظ

ربات مسیریاب ساده باید قادر باشد یک خط مشکی رنگ به پهنای تقریبی 2 سانتی‌متر را در یک زمینه‌ی سفید دنبال کند. البته در ربات‌های مسیریاب حرفه‌ای بحث خیلی پیچیده‌تر شده و ربات‌ها باید قادر باشند حتی در بخش‌هایی از زمین مسابقه خط سفید رنگ را در زمینه‌ی سیاه دنبال کنند.

در جلسات قبل با سنسورهای نوری فتوترنزیستور آشنا شدیم و دیدیم چگونه می‌توان به وسیله‌ی این سنسورها و مدارات جانبی آنها تغییرات نور محیط را اندازه‌گیری کرد. همان طور که می‌دانید جسم سفید نور تابیده شده به خود را بازتاب می‌کند و جسم سیاه رنگ بیشتر نور تابیده شده به خود را جذب کرده و بازتاب نمی‌کند. ما هم با استفاده از همین خاصیت و به کمک گیرنده فرستنده‌های نوری خود می‌توانیم خط سیاه را در کف زمینه‌ی سفید تشخیص دهیم. به این صورت که ما یک جفتِ گیرنده فرستنده گیرنده‌ی نوری را در کنار هم قرار می‌دهیم، با مدارهای راه‌انداز، فرستنده، نور را به کف زمین می‌تاباند و گیرنده با توجه به تغییرات نور دریافتی از کف زمین، می‌تواند خط سیاه را پیدا کند. به شکل نگاه کنید. (دید از بالا)

بر روی بدنه‌ی ربات 2 سنسور به گونه‌‌ای تعبیه شده است که وقتی ربات دقیقاً بر روی خط قرار می‌‌گیرد سنسورها در 2 طرف خط مشکی رنگ قرار گیرند. زمانی که ربات را فعال می‌کنیم هر 2 چرخ ربات شروع به چرخیدن به سمت جلو می‌کنند. ربات به سمت جلو حرکت می‌کند تا زمانی که مانند شکل ربات به پیچ اول برسد و سنسور سمت راست آن بر روی خط مشکی قرار گیرد، حال ربات باید به صورت خودکار موتور سمت راست خود را خاموش کند تا با چرخش موتور سمت چپ، ربات به دور خود بچرخد و از مسیر منحرف نشود. پس الگوریتم حركت ربات به این صورت است كه سنسور هر سمت بر روی خط قرار بگیرد، موتور همان سمت متوقف می‌شود تا ربات به مسیر اصلی باز گردد.
اما مشكلی كه در اینجا مطرح می‌شود این است كه اگر ربات با سرعت زیادی حركت كند و قادر نباشد سر پیچ بطور كامل پیچ را دنبال كند و از خط خارج شود دیگر راهی برای بازگشت به مسیر اصلی وجود ندارد.
برای حل این مشكل به هر طرف، چند سنسور دیگر اضافه می‌كنیم تا اگر سنسور اول از خط خارج شد، سنسورهای بعدی بتوانند خط را دنبال كنند. به شكل دقت كنید.
 


دقت كنید كه سنسورها مستقیماً در كنار هم چیده نشده‌اند و یه صورت زاویه دار (به شكل هشتی) چیده شده‌اند(چرا؟)

 

این هم نحوه‌ی چینش سنسورها‌ی كف یك ربات مسیریاب حرفه‌ای

 

همانطور که توضیح داده شد، ربات به 3 قسمت تقسیم می شود: 1-ورودی ها 2-پردازش 3-خروجی

تا به اینجا ما در مورد قسمت ورودی های ربات، یعنی همان گیرنده فرستنده ها توضیحاتی داده ایم. پیشنهاد می شود برای بالاتر رفتن دقت ربات، برای هر طرف، 3 جفت گیرنده _فرستنده بر روی ربات تعبیه شود.دوستان اگر روی لحیم کاری بردهای سوراخ دار(یا فیبری) تسلط دارند، می توانند این 6 جفت گیرنده_فرستنده را بر روی یک برد هزارسوراخ(فیبری) لحیم کنند.(مانند آخرین عکس جلسه ی پیش ).

اما در مورد بخش پردازش...

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

در این قسمت ما باید با توجه به آموخته های فعلی خود بتوانیم مداری طراحی کنیم که بتواند الگوریتم مورد نظر ما را پیاده سازی کند. یعنی 3 سنسور هر طرف را چک کند و اگر هر کدام خط را دیدند به موتور آن سمت دستور خاموش شدن بدهد. برای اینکار، با توجه به اینکه رنگ زمینه سفید، و رنگ خط سیاه است، بهتر است برای راه اندازی سنسورها از مدار شماره 2(به جلسه ی 14 مراجعه شود) استفاده شود. سپس یک AND 3 ورودی درست کرده(به جلسه ی هفدهم مراجعه شود) و خروجی سنسورها را به این 3 ورودی وصل کنیم.

به همین ترتیب برای 3 سنسور طرف دیگر هم همین مدار را می بندیم.

حال نتیجه ی مدار را بررسی می کنیم. (به عنوان مثال سمت راست را بررسی می کنیم)

در حالت عادی که هیچ یک از سنسورها روی خط نیستند، سنسورها در ناحیه ی سفید رنگ هستند و خروجی انها 1 منطقی است و در نتیجه، خروجی AND نیز 1 می باشد، و اگر هر کدام از سنسورها بر روی خط بروند، خروجی آ ن سنسور 0 می شود و در نتیجه خروجی AND نیز 0 منطقی می شود.

حالا چگونه به وسیله ی خروجی AND هر طرف موتور آن سمت را خاموش و روشن کنیم؟


بخش خروجی ربات(کنترل موتورها)

ما در این قسمت باید مداری را برای موتورها ببندیم که بتوان با آن، به وسیله ی خروجیِ ANDی که در قسمت پردازشگر آماده کرده ایم، موتور را روشن و خاموش کرد. یعنی هرگاه خروجی AND ، 1 منطقی بود، موتور روشن باشد و هرگاه خروجی AND ، 0 منطقی بود، موتور خاموش شود.

این مدار همانطور که احتمالاً حدس زده اید بسیار ساده است، فقط کافیست ما پایه ی – موتور هر سمت را به – منبع تغذیه متصل کنیم، و + آن موتور را هم نیز به خروجی AND هر طرف وصل کنیم.

حالا مدار اصلی ربات را به صورت شماتیک رسم می کنیم.



نکته: در مدار بالا، برای مختصرتر شدن مدار شماتیک، فرستنده های مادون قرمز در مدار کشیده نشده اند، دوستان فراموش نکنند که در مدار اصلی در کنار هر گیرنده باید یک فرستنده تعبیه شود!!

نکته ی بسیار مهم:

همانطور که در شکل می بینید، خروجی آی سی 7408 مستقیماً به موتورها متصل نشده است، بلکه وارد بافر شده و از از پایه ی متناظر به موتور وصل شده. همانطور که در جلسات قبل نیز گفته شده بود، آی سی های معمولی مثل 7408 و 7432 و ...، جریان دهی پایینی دارند و نمی توان آن ها را مستقیماً به موتور یا سایر قطعاتی که جریان بالایی می خواهند متصل کرد، به همین منظور ما از بافر74245 استفاده می کنیم. اما معمولاَ این أی سی نیز توانایی راه اندازی موتور ربات را ندارد. ساده‌ترین راه برای حل این مشكل، یك تقویت ترانزیستوری ساده است. یعنی خروجی بافر را توسط یك ترانزیستور(مثلاً TIP41) تقویت كنیم. در صورت استفاده از ترانزیستور معمولاً دیگر نیازی به استفاده از بافر نیست و می‌توان خروجی آی سی 7408 را مستقیماً به پایه‌ی Base ترانزیستور متصل نمود و  آن را به این شكل تقویت كرد.



نوع مطلب : رباتیک 

داغ کن - کلوب دات کام
نظرات() 
foot pain
یکشنبه 26 شهریور 1396 04:22 ب.ظ
Hiya! Quick question that's entirely off topic. Do you know how to make your site mobile friendly?
My weblog looks weird when browsing from my iphone4.

I'm trying to find a theme or plugin that might be able to
fix this problem. If you have any suggestions, please share.
Thank you!
chaturbate token generator torrent
دوشنبه 13 شهریور 1396 02:37 ق.ظ
Have you ever considered writing an ebook or guest authoring on other websites?
I have a blog centered on the same ideas you discuss and would love to
have you share some stories/information.
I know my subscribers would value your work. If you are even remotely interested,
feel free to shoot me an email.
ankle an foot pain
سه شنبه 6 تیر 1396 09:38 ق.ظ
Loving the info on this site, you have done outstanding job on the posts.
http://jhopson88.soup.io/post/524000277/What-Is-Heel-Pain-And-Best-Ways
دوشنبه 5 تیر 1396 09:19 ق.ظ
Howdy very nice website!! Guy .. Excellent .. Amazing ..

I'll bookmark your blog and take the feeds additionally?
I'm happy to search out numerous useful info right here within the publish, we'd like work out more
strategies on this regard, thank you for sharing. . . .
. .
آیدا
پنجشنبه 6 تیر 1392 07:48 ب.ظ
سلام خسته نباشید ممنون از مطلب خوبتون
من میخوام ربات مسیر یاب آتش نشان بسازم البته زیاد پیچیده نمیخوام بسازم میتونید راهنماییم کنید تا بتونم بسازمش
علاقه زیادی به ربات سازی دارم ولی زیاد اطلاعایی ندارم اگه کمکم کنید ممنونتون میشم
حتما بهم یه خبری بدین ممنون
پاسخ برنامه نویس : کافیه ربات کیتاروبو را خریداری کنید . تمامی مطالب آموزشی در آن موجود است . به صورت عملی یاد می گیرید.
parisa
یکشنبه 19 شهریور 1391 04:51 ب.ظ
az matalebe beiyar arzanede shoma sepas gozaram
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر