رفتن به مطلب

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


سمندون

ارسال های توصیه شده

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

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

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

LFP1.jpg

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

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

0 - Off the line

1 - Over the line

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

LFP2.jpg

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

LFP3.jpg

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

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

نتیجه:

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

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...