एक मिनी रोबोट बनाएंशुरुआतीपाठ 2675 मिनट का पाठ

रुकावटों से बचना

किसी भी चीज़ को छुए बिना रुकावटों से भरे कमरे में घूमने के लिए distance sensor का इस्तेमाल करें। रुकावटों से बचने के आसान नियम सीखें, समझें कि रोबोट क्यों अटक जाते हैं, और ठीक से टेस्ट कैसे करें।

पाठ वीडियो में

60 सेकंड में

रुकावटों से बचना

किसी भी चीज़ को छुए बिना रुकावटों से भरे कमरे में घूमने के लिए distance sensor का इस्तेमाल करें। रुकावटों से बचने के आसान नियम सीखें, समझें कि रोबोट क्यों अटक जाते हैं, और ठीक से…

1/6
आसान शब्दों में
गाँव की गली से गुज़रती किसी बकरी के बारे में सोचें। वह तब तक आगे बढ़ती है जब तक रास्ते में कोई चीज़ न आ जाए: कोई साइकिल, ठेला या कोई इंसान। फिर वह मुड़ती है और दूसरा रास्ता आज़माती है। उसे पूरे गाँव के नक्शे की ज़रूरत नहीं होती। रुकावटों से बचने वाला एक साधारण रोबोट भी इसी तरह काम करता है: आगे बढ़ो, और जब कोई चीज़ पास हो, तो मुड़ जाओ।
रोबोट वैक्यूम क्लीनर, खिलौना रोबोट और छात्रों द्वारा बनाए गए कई रोबोट reactive obstacle avoidance का इस्तेमाल करते हैं। वे पूरा रास्ता पहले से प्लान नहीं करते। सेंसर उस समय जो बताते हैं, वे उस पर प्रतिक्रिया देते हैं। यह तरीका आसान है और बिना टकराए कमरे में घूमने के लिए अक्सर काफी अच्छा होता है।

बुनियादी नियम

  1. 1

    देखें

    बिल्कुल सामने की दूरी नापें।
  2. 2

    काफी दूर है?

    अगर कोई भी चीज़ सुरक्षित दूरी (जैसे 30 सेमी) से पास नहीं है, तो आगे बढ़ें।
  3. 3

    बहुत पास है?

    आगे बढ़ना रोकें, और उसी जगह पर तब तक घूमें जब तक आगे का रास्ता साफ़ न हो जाए।
  4. 4

    दोहराएं

    हर कदम पर फिर से जाँचें।

सुरक्षित दूरी चुनना

सुरक्षित दूरी रोबोट को रुकने और मुड़ने के लिए ज़रूरी दूरी से ज़्यादा होनी चाहिए। यह गति, रोबोट के आकार और सेंसर की प्रतिक्रिया की गति पर निर्भर करता है। हमारे सिम्युलेटर में दूरी रोबोट के बीच से मापी जाती है, जो इसके किनारे से 5 सेमी दूर है, इसलिए 30 सेमी की सुरक्षित दूरी लगभग 25 सेमी का फ़ासला छोड़ती है।
सुरक्षित दूरीक्या होता है
बहुत कम (जैसे 8 सेमी)रोबोट तब मुड़ना शुरू करता है जब वह रुकावट को छू चुका होता है
लगभग सहीरोबोट बचने के लिए पर्याप्त जगह रहते हुए मुड़ जाता है
बहुत ज़्यादा (जैसे 90 सेमी)रोबोट हर समय मुड़ता ही रहता है और तंग जगहों में कभी नहीं जाता

रोबोट किन वजहों से अटकते हैं

  • हमेशा एक ही तरफ मुड़ना रोबोट को किसी कोने में फँसा सकता है, जहाँ वह दो दीवारों के बीच आगे-पीछे मुड़ता रहता है। कुछ रोबोट कोई भी रैंडम दिशा चुनते हैं, या अगर पहली बार मुड़ना काम न करे तो दूसरी तरफ मुड़ जाते हैं।
  • सेंसर सिर्फ़ आगे देखता है। मुड़ते समय, रोबोट का किनारा किसी ऐसी रुकावट से रगड़ खा सकता है जिसे सेंसर ने कभी देखा ही नहीं था। सेंसर का देखने का दायरा (cone) थोड़ी मदद करता है; साइड सेंसर ज़्यादा मदद करते हैं।
  • लगातार गोल-गोल घूमना। अगर जब भी कोई चीज़ सुरक्षित दूरी के भीतर आती है तो रोबोट उसी जगह मुड़ता रहता है, और वह बहुत तंग जगह में है, तो वह बिना आगे बढ़े बस घूमता रह सकता है। सिर्फ़ "कोई टक्कर नहीं" ही नहीं, बल्कि प्रगति भी मापें।

सही तरीके से टेस्ट करना

एक शुरुआती बिंदु से ठीक चलने वाला रोबोट शायद सिर्फ़ किस्मत वाला हो सकता है। अलग-अलग शुरुआती बिंदुओं और दिशाओं से टेस्ट करें, और एक से ज़्यादा चीज़ें मापें: क्या यह टकराया, यह कितनी देर तक चला, और इसने वास्तव में कितनी दूरी तय की? जो रोबोट स्थिर खड़ा रहता है वह कभी नहीं टकराता, लेकिन वह किसी काम का नहीं होता।
कमज़ोर टेस्ट
  • एक शुरुआत, एक रन
  • सिर्फ़ यह जाँचता है कि "टक्कर नहीं हुई"
  • जब तक काम न बने, रुकावटों को इधर-उधर खिसकाना
बेहतर टेस्ट
  • कई शुरुआती बिंदु और दिशाएं
  • जाँचता है कि टक्कर न हो और दूरी भी तय हो
  • कोड के हर वर्शन के लिए रुकावटों का एक ही लेआउट
ख़तरा
अगर कोई असली रोबोट रुकने में विफल रहता है, तो वह पैरों, पालतू जानवरों या मेज के पायों से टकरा सकता है, या मेज से नीचे गिर सकता है या सीढ़ियों से लुढ़क सकता है। फर्श पर, साफ़ जगह में, कम गति पर टेस्ट करें, और छोटे बच्चों के पास किसी बड़े का होना ज़रूरी है। लंबे बालों, ढीली आस्तीनों और उंगलियों को घूमते पहियों से दूर रखें। बिजली (power) को तुरंत बंद करने का इंतज़ाम रखें।
यह आज़माएं। लैब में, मुड़ने की दिशा बदलकर हमेशा बाईं तरफ़ करें, फिर हमेशा दाईं तरफ़। क्या रोबोट किसी दूसरी जगह पर अटक जाता है? इससे आपको सिर्फ़ एक शुरुआत से टेस्ट करने के बारे में क्या समझ आता है?

और देखें और पढ़ें

लैब

रुकावटों से बचने वाला एक रोबोट जो कई शुरुआती जगहों से 500 कदमों तक सामान से भरे कमरे में घूमता है, कभी नहीं टकराता और चलता रहता है।

~25 min

समस्या

यह आपके ब्राउज़र में चलता है। कमरे में पाँच गोल रुकावटें (लाल) हैं। रोबोट एक कोने के पास से शुरू होता है।

  1. स्टार्टर चलाएं। रोबोट सीधे किसी रुकावट से जा टकराता है।
  2. decide को इस तरह बदलें कि जब s["distance"] सुरक्षित दूरी से कम हो, तो रोबोट उसी जगह घूमे, और बाकी समय आगे बढ़े।
  3. लक्ष्य: 500 कदमों तक, कोई टक्कर न हो, और रोबोट कम से कम 300 सेमी की दूरी तय करे। यह जाँच चार अलग-अलग शुरुआती बिंदुओं को आज़माती है।
  4. 10, 30 और 80 सेमी की सुरक्षित दूरी आज़माएं। लिखें कि हर एक में क्या होता है।

प्रैक्टिस लैब

कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।

आउटपुट

कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1आपका रोबोट चारों शुरुआत पास कर लेता है। कोई एक रुकावट को 10 सेमी खिसका देता है और वह टकरा जाता है। इससे आपको क्या पता चलता है, और आप क्या करेंगे?दिखाएं

नियम सिर्फ़ एक लेआउट के हिसाब से सेट किए गए थे और नाज़ुक हैं। कोड पर भरोसा करने से पहले कई लेआउट पर टेस्ट करें, जिनमें नए लेआउट भी शामिल हों जिनके लिए आपने कोड सेट नहीं किया था। फिर नियमों को और मज़बूत बनाएं: ज़्यादा सुरक्षित दूरी रखें, मुड़ने से पहले थोड़ा पीछे हटें, या अगर आप साइड सेंसर लगाते हैं, तो उस तरफ़ से दूर मुड़ें जहाँ रुकावट ज़्यादा पास है।

Q2किसी असली रोबोट को सुरक्षित कहने के लिए "बिना टकराए 500 कदम चलना" ही काफी क्यों नहीं है?दिखाएं

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

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या असली डिलीवरी रोबोट के लिए reactive avoidance काफी है?

नहीं। असली डिलीवरी और वेयरहाउस रोबोट नक्शों, तय किए गए रास्तों, कई प्रकार के सेंसर और कड़े सुरक्षा सिस्टम का भी इस्तेमाल करते हैं। Reactive नियम पहली परत के रूप में और सीखने के लिए अच्छे हैं, लेकिन वे अपने दम पर किसी मंज़िल तक का रास्ता तय नहीं कर सकते।

क्या रोबोट को मुड़ने से पहले पीछे हटना चाहिए?

अगर रुकावट बहुत पास है, तो पहले थोड़ा पीछे हटने से बिना रगड़ खाए मुड़ने की जगह मिल जाती है। कई आसान रोबोट "रुकें, थोड़ा पीछे हटें, मुड़ें, आगे बढ़ें" का तरीका अपनाते हैं। अगर आपका रोबोट प्रतिक्रिया देने से पहले बहुत पास चला जाता है, तो इसे जोड़ें।

तय की गई दूरी को क्यों मापें?

क्योंकि सिर्फ़ "टक्कर नहीं हुई" को धोखा देना आसान है: जो रोबोट अपनी ही जगह पर घूमता रहता है वह कभी नहीं टकराता। तय की गई दूरी से पता चलता है कि रोबोट वास्तव में आगे बढ़ रहा है और घूम-फिर रहा है।

चलती-फिरती रुकावटों, जैसे लोगों का क्या?

चलती-फिरती रुकावटों से निपटना बहुत ज़्यादा कठिन होता है। रोबोट को तेज़ी से प्रतिक्रिया देनी चाहिए और ज़्यादा दूरी रखनी चाहिए। छोटे शौकिया रोबोटों को लोगों के आसपास धीरे चलना चाहिए, और उन्हें कभी भी ऐसी जगह इस्तेमाल नहीं करना चाहिए जहाँ किसी के लड़खड़ाने का खतरा हो।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें