रुकावटों से बचना
किसी भी चीज़ को छुए बिना रुकावटों से भरे कमरे में घूमने के लिए distance sensor का इस्तेमाल करें। रुकावटों से बचने के आसान नियम सीखें, समझें कि रोबोट क्यों अटक जाते हैं, और ठीक से टेस्ट कैसे करें।
60 सेकंड में
रुकावटों से बचना
किसी भी चीज़ को छुए बिना रुकावटों से भरे कमरे में घूमने के लिए distance sensor का इस्तेमाल करें। रुकावटों से बचने के आसान नियम सीखें, समझें कि रोबोट क्यों अटक जाते हैं, और ठीक से…
बुनियादी नियम
- 1
देखें
बिल्कुल सामने की दूरी नापें। - 2
काफी दूर है?
अगर कोई भी चीज़ सुरक्षित दूरी (जैसे 30 सेमी) से पास नहीं है, तो आगे बढ़ें। - 3
बहुत पास है?
आगे बढ़ना रोकें, और उसी जगह पर तब तक घूमें जब तक आगे का रास्ता साफ़ न हो जाए। - 4
दोहराएं
हर कदम पर फिर से जाँचें।
सुरक्षित दूरी चुनना
| सुरक्षित दूरी | क्या होता है |
|---|---|
| बहुत कम (जैसे 8 सेमी) | रोबोट तब मुड़ना शुरू करता है जब वह रुकावट को छू चुका होता है |
| लगभग सही | रोबोट बचने के लिए पर्याप्त जगह रहते हुए मुड़ जाता है |
| बहुत ज़्यादा (जैसे 90 सेमी) | रोबोट हर समय मुड़ता ही रहता है और तंग जगहों में कभी नहीं जाता |
रोबोट किन वजहों से अटकते हैं
- हमेशा एक ही तरफ मुड़ना रोबोट को किसी कोने में फँसा सकता है, जहाँ वह दो दीवारों के बीच आगे-पीछे मुड़ता रहता है। कुछ रोबोट कोई भी रैंडम दिशा चुनते हैं, या अगर पहली बार मुड़ना काम न करे तो दूसरी तरफ मुड़ जाते हैं।
- सेंसर सिर्फ़ आगे देखता है। मुड़ते समय, रोबोट का किनारा किसी ऐसी रुकावट से रगड़ खा सकता है जिसे सेंसर ने कभी देखा ही नहीं था। सेंसर का देखने का दायरा (cone) थोड़ी मदद करता है; साइड सेंसर ज़्यादा मदद करते हैं।
- लगातार गोल-गोल घूमना। अगर जब भी कोई चीज़ सुरक्षित दूरी के भीतर आती है तो रोबोट उसी जगह मुड़ता रहता है, और वह बहुत तंग जगह में है, तो वह बिना आगे बढ़े बस घूमता रह सकता है। सिर्फ़ "कोई टक्कर नहीं" ही नहीं, बल्कि प्रगति भी मापें।
सही तरीके से टेस्ट करना
- एक शुरुआत, एक रन
- सिर्फ़ यह जाँचता है कि "टक्कर नहीं हुई"
- जब तक काम न बने, रुकावटों को इधर-उधर खिसकाना
- कई शुरुआती बिंदु और दिशाएं
- जाँचता है कि टक्कर न हो और दूरी भी तय हो
- कोड के हर वर्शन के लिए रुकावटों का एक ही लेआउट
और देखें और पढ़ें
लैब
रुकावटों से बचने वाला एक रोबोट जो कई शुरुआती जगहों से 500 कदमों तक सामान से भरे कमरे में घूमता है, कभी नहीं टकराता और चलता रहता है।
समस्या
यह आपके ब्राउज़र में चलता है। कमरे में पाँच गोल रुकावटें (लाल) हैं। रोबोट एक कोने के पास से शुरू होता है।
- स्टार्टर चलाएं। रोबोट सीधे किसी रुकावट से जा टकराता है।
decideको इस तरह बदलें कि जबs["distance"]सुरक्षित दूरी से कम हो, तो रोबोट उसी जगह घूमे, और बाकी समय आगे बढ़े।- लक्ष्य: 500 कदमों तक, कोई टक्कर न हो, और रोबोट कम से कम 300 सेमी की दूरी तय करे। यह जाँच चार अलग-अलग शुरुआती बिंदुओं को आज़माती है।
- 10, 30 और 80 सेमी की सुरक्षित दूरी आज़माएं। लिखें कि हर एक में क्या होता है।
प्रैक्टिस लैब
कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।
कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1आपका रोबोट चारों शुरुआत पास कर लेता है। कोई एक रुकावट को 10 सेमी खिसका देता है और वह टकरा जाता है। इससे आपको क्या पता चलता है, और आप क्या करेंगे?दिखाएं
नियम सिर्फ़ एक लेआउट के हिसाब से सेट किए गए थे और नाज़ुक हैं। कोड पर भरोसा करने से पहले कई लेआउट पर टेस्ट करें, जिनमें नए लेआउट भी शामिल हों जिनके लिए आपने कोड सेट नहीं किया था। फिर नियमों को और मज़बूत बनाएं: ज़्यादा सुरक्षित दूरी रखें, मुड़ने से पहले थोड़ा पीछे हटें, या अगर आप साइड सेंसर लगाते हैं, तो उस तरफ़ से दूर मुड़ें जहाँ रुकावट ज़्यादा पास है।
Q2किसी असली रोबोट को सुरक्षित कहने के लिए "बिना टकराए 500 कदम चलना" ही काफी क्यों नहीं है?दिखाएं
टेस्ट केवल उन्हीं स्थितियों को कवर करता है जिन्हें आज़माया गया था। असली कमरों में चलते-फिरते लोग, पालतू जानवर, सीढ़ियाँ, पतले पाए और मुलायम चीज़ें होती हैं जिन्हें शायद सेंसर न देख पाए। सुरक्षा के लिए धीमी गति, बिजली बंद करने का तुरंत तरीका, निगरानी, और केवल सिम्युलेटर में ही नहीं बल्कि असली जगह पर टेस्टिंग की ज़रूरत होती है।
अक्सर पूछे जाने वाले सवाल
क्या असली डिलीवरी रोबोट के लिए reactive avoidance काफी है?
नहीं। असली डिलीवरी और वेयरहाउस रोबोट नक्शों, तय किए गए रास्तों, कई प्रकार के सेंसर और कड़े सुरक्षा सिस्टम का भी इस्तेमाल करते हैं। Reactive नियम पहली परत के रूप में और सीखने के लिए अच्छे हैं, लेकिन वे अपने दम पर किसी मंज़िल तक का रास्ता तय नहीं कर सकते।
क्या रोबोट को मुड़ने से पहले पीछे हटना चाहिए?
अगर रुकावट बहुत पास है, तो पहले थोड़ा पीछे हटने से बिना रगड़ खाए मुड़ने की जगह मिल जाती है। कई आसान रोबोट "रुकें, थोड़ा पीछे हटें, मुड़ें, आगे बढ़ें" का तरीका अपनाते हैं। अगर आपका रोबोट प्रतिक्रिया देने से पहले बहुत पास चला जाता है, तो इसे जोड़ें।
तय की गई दूरी को क्यों मापें?
क्योंकि सिर्फ़ "टक्कर नहीं हुई" को धोखा देना आसान है: जो रोबोट अपनी ही जगह पर घूमता रहता है वह कभी नहीं टकराता। तय की गई दूरी से पता चलता है कि रोबोट वास्तव में आगे बढ़ रहा है और घूम-फिर रहा है।
चलती-फिरती रुकावटों, जैसे लोगों का क्या?
चलती-फिरती रुकावटों से निपटना बहुत ज़्यादा कठिन होता है। रोबोट को तेज़ी से प्रतिक्रिया देनी चाहिए और ज़्यादा दूरी रखनी चाहिए। छोटे शौकिया रोबोटों को लोगों के आसपास धीरे चलना चाहिए, और उन्हें कभी भी ऐसी जगह इस्तेमाल नहीं करना चाहिए जहाँ किसी के लड़खड़ाने का खतरा हो।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।