تعداد سنسورها و نقش آنها در کنترل ربات تعقیب کننده ی خط
تعداد سنسورها و نقش آنها در کنترل ربات تعقیب کننده ی خط
شیوه های زیادی برای دنبال کردن یک خط توسط ربات وجود دارد که در تمامی آنها از تعدادی سنسور برای این کار استفاده میشود. در این مقاله قصد داریم درباره ی تاثیر تعداد سنسورها در توانایی ربات برای تعقیب خط بحث کنیم.
استفاده از یک سنسور
: (The Edge Finder)
در این حالت تنها یک سنسور وظیفه ی دنبال کردن خط را بر عهده دارد و عملا یک لبه از خط با تغییر مکان از سیاه به سفید توسط ربات درک میشود. یک موتور وقتی فعال میشود که خط دیده میشود و موتور دیگر وقتی که خط توسط سنسور دیده نمیشود فعال میشود. این روش تنها برای سرعت های بسیار کم قابل استفاده است و در سرعت های بالاتر کاربرد ندارد.واضح است در صورتی که ربات در لبه ی دیگر ربات قرار بگیرد در جهت مخالف حرکت خواهد کرد و یا اگر ربات خط را گم کند در یک مدار دایروی برای همیشه چرخش خواهد کرد. از این نوع سنسور به ندرت همراه با میکروکنترلرها استفاده میشود. در حالت باینری برای سنسورها تنها دو صورت صفر یا یک را میتوان در نظر گرفت.
تنها حالت ها ی ممکن عبارتند از
: 0 - Off the line1 - Over the line
استفاده از
2 سنسور : (The Line Avoider)
استفاده از
2 سنسور شبیه به حالت یک سنسور میباشد با این تفاوت که هر سنسور به طور مجزا وظیفه ی کنترل یک موتور را دارد. سنسورها در دو طرف خط قرار میگیرند و از وارد شدن به خط اجتناب میکنند. ربات در این حالت بهتر از حالت قبل کار میکند اما با گم کردن خط دچار سرگردانی میشود دلیل این اتفاق این است که ربات نمیتواند اختلاف بین در خط قرار گرفتن با بیرون خط بودن را درک کند. در این حالت در صورتی که از میکرو کنترلر استفاده شود میتوان بعضی از این مشکلات را از طریق نرم افزار برطرف کرد. در صورتیکه دو سنسور را به انداره ای نزدیک هم قرار داده باشیم که هر دو روی خط وسط قرار گرفته باشند میتوانیم به این روش هم خط را دنبال کنیم که با خروج هر سنسور از خط موتور متصل به آن خاموش شود.حالت های ممکن برای این حالت عبارتند از
:00
- Straddling the line or lost the line01 - 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 left010 - 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
استفاده از
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 LineflagCase &B00000 'No line
'If the bot loses the line, make steering changes
Servo(2) = Slow - Progspeed
If Lastlineflag < 4 Then
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 سنسور درجه ی کنترل بهتری را برای ربات فراهم میکند که این اجازه را به ما میدهد تا سرعت ربات خود را افزایش دهیم تا بتوانیم زمانی را که صرف هدایت ربات در پیچ ها شد جبران کنیم.
نتیجه
:تعداد سنسورهای استفاده شده در ربات به نظر شما بستگی دارد. غالبا ربات های تعقیب خط سریع از دو سنسور استفاده میکنند و تعداد سنسورهای بیشتر به قدرت کنترل بهتر ربات کمک میکند و البته استفاده از یک میکروکنترلر میتواند در بالا بردن قابلیت ها و کیفیت کار بسیار موثر باشد همواره از روشی که پاسخگوی نیازهای شما و هماهنگ با سطح مهارت شما باشد استفاده کنید.
دريافت مقاله به صورت PDF
موفق باشید