تبلیغات
روباتیک دانشگاه ازاد لاهیجان - تعداد سنسورها و نقش آنها در کنترل ربات تعقیب کننده ی خط
 
روباتیک دانشگاه ازاد لاهیجان

  تعداد سنسورها و نقش آنها در کنترل ربات تعقیب کننده ی خط

شیوه های زیادی برای دنبال کردن یک خط توسط ربات وجود دارد که در تمامی آنها از تعدادی سنسور برای این کار استفاده میشود. در این مقاله قصد داریم درباره ی تاثیر تعداد سنسورها در توانایی ربات برای تعقیب خط بحث کنیم.

استفاده از یک سنسور: (The Edge Finder)

حالت یک سنسور

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

تنها حالت ها ی ممکن عبارتند از:

0 - Off the line
1 - Over the line

استفاده از 2 سنسور : (The Line Avoider)

حالت 2 سنسور

استفاده از 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)

حالت 3 سنسور

حال با اضافه کردن سنسور سوم به ربات آن را از وجود خط و همچنین لبه های خط آگاه میکنیم. حالا ربات این برتری را دارد که از موقعیت خط آگاهی پیدا کند برای مثال گم کردن خط را توسط سنسور وسط درک کند. سنسور سوم همچنین میتواند در مسیر های دارای خمیدگی (انحناء) نقش بسیار زیادی را در کاهش سرعت برای بالا بردن دقت در عمل تعقیب خط و جلوگیری از گم کردن خط داشته باشد و سرعت را در مسیرهای مستقیم چندین برابر کند به این روش کنترل چند سرعته یا 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

 

استفاده از 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 < 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 سنسور درجه ی کنترل بهتری را برای ربات فراهم میکند که این اجازه را به ما میدهد تا سرعت ربات خود را افزایش دهیم تا بتوانیم زمانی را که صرف هدایت ربات در پیچ ها شد جبران کنیم.

 

  نتیجه:

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





نوع مطلب : مقاله، 
برچسب ها :


آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

 
 
تمامی حقوق این وبلاگ محفوظ است |طراحی : پیچک