Lesson 23: Line Following Robot

Lesson Description

इस पाठ में, आप लाइन फॉलोइंग रोबोट, उनके उपयोग, आईआर सेंसर को कैसे कैलिब्रेट और उपयोग करना है, लाइन फॉलोइंग का तर्क और लाइन फॉलोअर रोबोट को कैसे प्रोग्राम करना है, के बारे में जानेंगे।

All About – Line Following Robots

रेखा का अनुसरण करने वाले रोबोट सरल होते हैं, वे सतह पर खींची गई रेखा का अनुसरण करते हैं। जैसे रेलगाड़ियाँ एक निर्धारित ट्रैक के साथ चलती हैं, वैसे ही वे जमीन या सतह पर चित्रित एक अंधेरी रेखा का अनुसरण करती हैं। वे एक चमकदार सतह पर एक गहरी रेखा या एक अंधेरे सतह पर एक चमकीले रंग की रेखा का पता लगाने के लिए अवरक्त संकेतों का उपयोग करके काम करते हैं। लाइन रोबोट को घुमाने की अनुमति भी दे सकती है।

एक साधारण कुकी कारखाने की कल्पना करें – जब कुकीज़ बनाई जाती हैं और बक्से में पैक की जाती हैं, तो एक रोबोट इन सभी बक्से को इकट्ठा करता है और उन्हें ट्रकों पर लोड करता है।

बक्से को एक स्थान से दूसरे स्थान तक ले जाने के लिए रोबोट कारखाने में एक पथ का अनुसरण करेंगे। ये रास्ते खींचे या चित्रित किए गए हैं ताकि रोबोट उनका अनुसरण कर सके।

Why Line Following Robots?

लाइन-फॉलोइंग रोबोट बनाने में बहुत आसान हैं और सही करने या बनाए रखने में आसान हैं। एक बार बन जाने और चालू हो जाने के बाद, वे पथ के साथ चलना शुरू कर देते हैं। यह उन कार्यों के लिए उपयोगी हो सकता है जिन्हें कारखानों की तरह बार-बार दोहराने की आवश्यकता होती है।

IR Sensor

लाइन-फॉलोइंग रोबोट IR सेंसर नामक इलेक्ट्रॉनिक उपकरणों का उपयोग करते हैं ताकि वे उस लाइन का पता लगा सकें जिसका उन्हें पालन करना है। आइए समझते हैं कि वे कैसे काम करते हैं।

An IR sensor consists of 2 LEDs : एक जो IR प्रकाश को प्रसारित करता है और एक जो IR प्रकाश प्राप्त करता है। जब IR किरणें संचारित होती हैं, तो वे निकटतम सतह से उछलती हैं और रिसीवर LED पर वापस आ जाती हैं। इस प्रकार IR सेंसर किसी वस्तु का पता लगाता है।

लेकिन रंगों का पता लगाने के लिए, हम उन किरणों की संख्या पर निर्भर करते हैं जो सतह परावर्तित होती हैं:

अंधेरी सतह अधिक IR किरणों को अवशोषित करेगी और परिणामस्वरूप, रिसीवर को कम IR किरणें मिलेंगी।

सफेद या चमकदार वस्तुएं कम IR किरणों को अवशोषित करेंगी और परिणामस्वरूप, रिसीवर को अधिक IR किरणें मिलेंगी।

हम पिक्टोब्लॉक्स में सेंसर वैल्यू (value) प्राप्त कर सकते हैं और उस मूल्य के आधार पर हम अनुमान लगा सकते हैं कि सतह काली है या सफेद।

  • यदि सेंसर काली रेखा का पता लगाता है, तो इसका आउटपुट वैल्यू (value) बढ़ जाता है। इसका मतलब है कि सेंसर सक्रिय है।
  • यदि यह सफेद क्षेत्र का पता लगाता है, तो इसका आउटपुट मान घट जाता है। इसका मतलब है कि सेंसर निष्क्रिय है।

हम उस थ्रेसहोल्ड वैल्यू (threshold value) को कॉल करेंगे जिसके ऊपर सेंसर ब्लैक लाइन का पता लगाता है। यदि सेंसर का वैल्यू थ्रेसहोल्ड से कम है, तो इसका मतलब है कि सेंसर ने अभी तक रेखा का पता नहीं लगाया है।

Activity 1: Calibrating the IR Sensors

इससे पहले कि हम अपने लाइन-फॉलोइंग रोबोट का उपयोग करना शुरू करें, हमें पहले IR सेंसर को कैलिब्रेट करना होगा, यानी यह सुनिश्चित करना होगा कि वे ठीक काम कर रहे हैं। उसके लिए, हम उन्हें कैलिब्रेट करने के लिए पिक्टोब्लॉक्स में एक स्क्रिप्ट बनाएंगे।

नीचे दिए गए स्टेप्स का पालन करें:

  1. PictoBlox ऐप में एक नई फाइल बनाएं।
  2. Quarky को PictoBlox से कनेक्ट करें।
  3. Variables पैलेट पर जाएं और Sensor Value नाम का एक वेरिएबल बनाएं।
  4. इसके बाद, निम्न स्क्रिप्ट को बाएं IR सेंसर वैल्यू में चर वैल्यू को अपडेट करते रहने के लिए बनाएं।
  5. आप देखेंगे कि यह मंच के ऊपरी-बाएँ कोने में दिखाई देता है। हम अपने IR सेंसर के लिए थ्रेशोल्ड वैल्यू का पता लगाने के लिए इस वेरिएबल का उपयोग करेंगे।
  6. आइए सबसे पहले पहले IR सेंसर यानी लेफ्ट सेंसर की थ्रेशोल्ड वैल्यू का पता लगाते हैं।
  7. अपने Quarky किट से ट्रैक को बाहर निकालें और काली रेखा को बाएं सेंसर के काफी करीब लाएं। स्टेज पर वेरिएबल वैल्यू में बदलाव को देखें। इस वैल्यू को नोट करें।
  8. फिर सफेद जगह को सेंसर के करीब लाएं। आप देखेंगे कि वैल्यू घटता है। नया वैल्यू नोट करें। थ्रेशोल्ड वैल्यू इन दो वैल्यू के बीच में होगा। जी।, यदि सेंसर काली रेखा का पता लगाता है तो मान 2000 है और जब यह पता चलता है कि सफेद स्थान 500 है, तो हम थ्रेशोल्ड को 1200 पर रखेंगे।
  9. सही IR सेंसर के लिए प्रक्रिया को दोहराएं। ध्यान दें कि दोनों सेंसर के वैल्यू अलग-अलग हो सकते हैं।

LED के माध्यम से प्रतिक्रिया प्राप्त करना

ब्लैक लाइन डिटेक्शन (black line detection) की स्थिति की जांच करने के लिए निम्न (following) कोड बनाएं:

अब, green flag पर क्लिक करके स्क्रिप्ट चलाएँ। आगे बढ़ने से पहले सुनिश्चित करें कि आपके पास बाएं और दाएं सेंसर ठीक से कैलिब्रेट किए गए हैं।

Logic of Line Following Robot

लाइन-फॉलोइंग रोबोट के काम करने के पीछे तर्क सरल है:

  1. सबसे पहले, हम बाएँ और दाएँ IR सेंसर थ्रेसहोल्ड सेट करेंगे।
  2. यदि दोनों सेंसर सक्रिय हैं, तो इसका मतलब है कि रोबोट एक चौराहे पर है और इसलिए रुकना चाहिए
  3. यदि केवल बायाँ संवेदक सक्रिय (sensor is active) है , तो इसका अर्थ है कि रोबोट अपने दाहिनी ओर खिसक रहा है और हमें इसे वापस पटरी पर लाने की आवश्यकता है। इसलिए, हमें इसे थोड़ा बाईं ओर ले जाना चाहिए।
  4. यदि केवल दायाँ सेंसर सक्रिय है, तो इसका मतलब है कि रोबोट अपनी बाईं ओर बह रहा है । इसलिए, हमें इसे थोड़ा दाहिनी ओर ले जाना चाहिए।
  5. यदि कोई भी सेंसर सक्रिय नहीं है , तो इसका मतलब है कि काली रेखा उनके बीच में है और रोबोट सही दिशा में जा रहा है। इसलिए इसे आगे बढ़ते रहना चाहिए।
  6. चरण 2-5 दोहराएं।

रोबोट के बाद हम 3 महत्वपूर्ण चीजों का उपयोग करेंगे:

  1. F: वह गति जिसके साथ रोबोट आगे बढ़ेगा जब उसने काली रेखा का पता नहीं लगाया होगा।
  2. T1 और T2: जब रोबोट लाइन का अनुसरण कर रहा होता है और यदि कोई सेंसर बाईं ओर कहता है, काली रेखा का पता लगाता है, तो रोबोट ट्रैक से हट जाता है और ट्रैक पर वापस आने के लिए उसे बाएं मुड़ना पड़ता है। और हम जानते हैं कि रोबोट को बायीं ओर कैसे मोड़ना है। बायां मोटर पीछे की ओर और दायां आगे बढ़ता है। लेकिन अगर दोनों समान गति से चल रहे हैं, तो रोबोट की गति झटकेदार और अक्षम हो जाएगी। इसलिए, हमारे पास T1 और T2 को मोड़ने के लिए दो गतियाँ होंगी, जहाँ
    1. T1 वह गति होगी जिसके साथ मोटर आगे बढ़ेगी और
    2. T2 वह गति होगी जिससे मोटर पीछे की ओर जाएगी
  3. हमें प्रोग्रामिंग के दौरान F, T1 और T2 सेट करना होगा और इसे प्रभावी लाइन फॉलोइंग के लिए कैलिब्रेट करना होगा।

Coding Steps

  1. PictoBlox ऐप में एक नई फाइल बनाएं।
  2. Quarky को PictoBlox से कनेक्ट करें।
  3. स्क्रिप्टिंग क्षेत्र में एक green flag ब्लॉक जोड़ें और दो set ( ) IR sensor threshold to ( ) ब्लॉक करें और left और right IR sensor thresholds सेट करें।
  4. Robot पैलेट पर जाएं और set parameter F ( ), T1 ( ), T2 ( ) ब्लॉक को खींचें और छोड़ें। पैरामीटर को डिफ़ॉल्ट के रूप में सेट करें।
  5. set parameter F ( ), T1 ( ), T2 ( ) के नीचे forever ब्लॉक जोड़ें
  6. अब, Robot पैलेट से, forever ब्लॉक के अंदर एक do line following ब्लॉक जोड़ें। यह ब्लॉक उन सभी लाइन फॉलोइंग कंडीशंस का ध्यान रखेगा जिन्हें हमें लॉजिक में व्यक्तिगत रूप से जांचना था।
  7. इसके बाद, do line following ब्लॉक के अंदर एक stop robot ब्लॉक जोड़ें।
  8. अब, अपने रोबोट को ट्रैक पर रखें और हरी झंडी पर क्लिक करके स्क्रिप्ट चलाएँ।
  9. फ़ाइल को Line Following के रूप में सहेजें।

Activity: Output

Calibrating the Robot

हमें रोबोट की F, T1, और T2 गति को कैलिब्रेट करना होगा ताकि वह कुशलता से काम कर सके। आइए देखें कि प्रत्येक पैरामीटर के परिवर्तन के साथ क्या होता है:

  1. F : यह नियंत्रित करता है कि रोबोट कितनी तेजी से आगे बढ़ता है। यदि रोबोट ओवरशूटिंग कर रहा है और लाइन का पालन नहीं करता है, तो मान घटाएं।
  2. T1 और T2 : यह नियंत्रित करता है कि ट्रैक पर वापस आने के लिए रोबोट कितना मुड़ता है। अगर ये कम होंगे तो रोबोट को वापस पटरी पर आने का समय नहीं मिल पाएगा और अगर ये ज्यादा होंगे तो रोबोट बहुत झटके मारेगा। आप देख सकते हैं कि इस मामले में रोबोट कैसे बहुत ज्यादा घूम रहा है. आप T2 की गति 0-20 के बीच रख सकते हैं और सबसे उपयुक्त परिणाम प्राप्त करने के लिए T1 को बदल सकते हैं।

F, T1, और T2 पैरामीटर्स को कैलिब्रेट करें और उन्हें याद रखें क्योंकि हम आने वाले पाठों में उनका उपयोग करेंगे।

What happens at the Checkpoints?

जैसा कि आपने देखा होगा, रोबोट लाइन फॉलोअर ब्लॉक में चौकियों का पता लगाता है, हम उस चौकी पर जो चाहें कर सकते हैं। पिछले कोड की तरह, हमने चेकपॉइंट पर रोबोट को रोका।

आप रोबोट को आगे बढ़ने के साथ-साथ ट्रैक पर बिना किसी रुकावट के चलने के लिए भी बना सकते हैं:

अगले पाठ पर जाने से पहले सुनिश्चित करें कि आपने assignment पूरा कर लिया है और सबमिट कर दिया है, साथ ही quiz में भाग लें।

Table of Contents