سمندون 19437 اشتراک گذاری ارسال شده در 27 آذر، ۱۳۹۰ تعداد سنسورها و نقش آنها در کنترل ربات تعقیب کننده ی خط شیوه های زیادی برای دنبال کردن یک خط توسط ربات وجود دارد که در تمامی آنها از تعدادی سنسور برای این کار استفاده میشود. در این مقاله قصد داریم درباره ی تاثیر تعداد سنسورها در توانایی ربات برای تعقیب خط بحث کنیم. استفاده از یک سنسور: (The Edge Finder) در این حالت تنها یک سنسور وظیفه ی دنبال کردن خط را بر عهده دارد و عملا یک لبه از خط با تغییر مکان از سیاه به سفید توسط ربات درک میشود. یک موتور وقتی فعال میشود که خط دیده میشود و موتور دیگر وقتی که خط توسط سنسور دیده نمیشود فعال میشود. این روش تنها برای سرعت های بسیار کم قابل استفاده است و در سرعت های بالاتر کاربرد ندارد.واضح است در صورتی که ربات در لبه ی دیگر ربات قرار بگیرد در جهت مخالف حرکت خواهد کرد و یا اگر ربات خط را گم کند در یک مدار دایروی برای همیشه چرخش خواهد کرد. از این نوع سنسور به ندرت همراه با میکروکنترلرها استفاده میشود. در حالت باینری برای سنسورها تنها دو صورت صفر یا یک را میتوان در نظر گرفت. تنها حالت ها ی ممکن عبارتند از: 0 - Off the line 1 - Over the line استفاده از 2 سنسور : (The Line Avoider) استفاده از 2 سنسور شبیه به حالت یک سنسور میباشد با این تفاوت که هر سنسور به طور مجزا وظیفه ی کنترل یک موتور را دارد. سنسورها در دو طرف خط قرار میگیرند و از وارد شدن به خط اجتناب میکنند. ربات در این حالت بهتر از حالت قبل کار میکند اما با گم کردن خط دچار سرگردانی میشود دلیل این اتفاق این است که ربات نمیتواند اختلاف بین در خط قرار گرفتن با بیرون خط بودن را درک کند. در این حالت در صورتی که از میکرو کنترلر استفاده شود میتوان بعضی از این مشکلات را از طریق نرم افزار برطرف کرد. در صورتیکه دو سنسور را به انداره ای نزدیک هم قرار داده باشیم که هر دو روی خط وسط قرار گرفته باشند میتوانیم به این روش هم خط را دنبال کنیم که با خروج هر سنسور از خط موتور متصل به آن خاموش شود. حالت های ممکن برای این حالت عبارتند از: 00 - Straddling the line or lost the line 01 - Found right side of line 10 - Found left side of line 11 - Not used unless sensors are placed less than the line's width apart استفاده از 3 سنسور : (The Line Seer) حال با اضافه کردن سنسور سوم به ربات آن را از وجود خط و همچنین لبه های خط آگاه میکنیم. حالا ربات این برتری را دارد که از موقعیت خط آگاهی پیدا کند برای مثال گم کردن خط را توسط سنسور وسط درک کند. سنسور سوم همچنین میتواند در مسیر های دارای خمیدگی (انحناء) نقش بسیار زیادی را در کاهش سرعت برای بالا بردن دقت در عمل تعقیب خط و جلوگیری از گم کردن خط داشته باشد و سرعت را در مسیرهای مستقیم چندین برابر کند به این روش کنترل چند سرعته یا PWM گفته میشود. استفاده ار سنسور سوم در طراحی ها رایج است خصوصا در ربات هایی که در آنها از میکروکنترلر استفاده شده است. شرایط امکان پذیر برای این حالت عبارتند از: 001 - Moving off the line to the left 010 - Centered over the line 011 - Slightly off the line to the left 100 - Moving off the line to the right 101 - Not used 110 - Slightly off the line to the right 111 -Not used ,but could be used in the advanced or maze solving contests 3 لینک به دیدگاه
سمندون 19437 مالک اشتراک گذاری ارسال شده در 27 آذر، ۱۳۹۰ استفاده از 5 سنسور: (The Line Dancer) ممکن است این سوال مطرح شود که 3 سنسور برای کنترل کامل ربات کافی میباشد در اینصورت دلیل استفاده از 2 سنسور اضافه چیست؟ صورت های ممکن برای این حالت : (تنها حالتهای مفید نوشته شده) 00000 - Lost line from overshoot or break in line 00001 - Almost off the line, steer hard right and reduce speed 00011 - Near the right edge of the line, steer right 00010 - Right of the center of the line, steer right 00110 - Slightly to the right of the center of the line, slight correction to the right 00100 - Centered over line, increase speed for straight runs 01100 - Slightly to the left of the center of the line, slight correction to the left 01000 - Left of the center of the line, steer left 11000 - Near the left edge of the line, steer left 10000 - Almost off the line, steer hard left and reduce speed 11111 - Line intersection or circle at end of maze دقت داشته باشید که با در نظر گرفتن سنسورها به عنوان اعداد باینری به راحتی میتوانیم تصمیمات منطقی خود را به برنامه تبدیل کنید. در زیر قسمتی از برنامه ی یک ربات تعقیب خط که در Bascom نوشته شده آورده شده است: توضیحات : Lineflag is a variable that contains a binary representation of the 5 sensors Servo(1) is the steering servo PWM channel Servo(2) is the drive motors PWM channel controlled by an ESC Overshoot is a flag that indicates if we have lost the line at a turn Bascom Basic Code Segment Select Case Lineflag Case &B00000 'No line 'If the bot loses the line, make steering changes Servo(2) = Slow - Progspeed If Lastlineflag Overshoot = 1 'Overshot a righthand corner Elseif Lastlineflag > 4 Then Overshoot = 1 'Overshot a left hand corner End If Case &B00100 'Line under center sensor Overshoot = 0 Servo(1) = Center Servo(2) = Mediumfast - Progspeed Case &B00110 Overshoot = 0 Servo(1) = Smallright Servo(2) = Mediumfast - Progspeed Case &B00010 Overshoot = 0 'Line under midright sensor Servo(1) = Mediumright Servo(2) = Mediumfast - Progspeed Case &B00011 'Line between midright and right sensor If Overshoot = 0 Then Servo(1) = Largeright Servo(2) = Medium - Progspeed Else Servo(1) = Mediumright Servo(2) = Medium - Progspeed End If Case &B00001 'Line under right sensor If Overshoot = 0 Then Servo(1) = Hardright Servo(2) = Mediumslow - Progspeed Else Servo(1) = Largeright Servo(2) = Mediumslow - Progspeed End If Case &B01100 'Line between center and midleft sensor Overshoot = 0 Servo(1) = Smallleft Servo(2) = Mediumfast - Progspeed Case &B01000 'Line under midleft sensor Overshoot = 0 Servo(1) = Mediumleft Servo(2) = Mediumfast - Progspeed Case &B11000 'Line between midleft and left sensor If Overshoot = 0 Then Servo(1) = Largeleft Servo(2) = Medium - Progspeed Else Servo(1) = Center Servo(2) = Medium - Progspeed End If Case &B10000 'Line under left sensor If Overshoot = 0 Then Servo(1) = Hardleft Servo(2) = Mediumslow - Progspeed Else Servo(1) = Largeleft Servo(2) = Mediumslow - Progspeed End If End Select بنابراین میبینیم که 5 سنسور درجه ی کنترل بهتری را برای ربات فراهم میکند که این اجازه را به ما میدهد تا سرعت ربات خود را افزایش دهیم تا بتوانیم زمانی را که صرف هدایت ربات در پیچ ها شد جبران کنیم. نتیجه: تعداد سنسورهای استفاده شده در ربات به نظر شما بستگی دارد. غالبا ربات های تعقیب خط سریع از دو سنسور استفاده میکنند و تعداد سنسورهای بیشتر به قدرت کنترل بهتر ربات کمک میکند و البته استفاده از یک میکروکنترلر میتواند در بالا بردن قابلیت ها و کیفیت کار بسیار موثر باشد همواره از روشی که پاسخگوی نیازهای شما و هماهنگ با سطح مهارت شما باشد استفاده کنید. برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 3 لینک به دیدگاه
ارسال های توصیه شده