Lesson 18: Self-Driving Car

Lesson Description

सेल्फ-ड्राइविंग कार बनाने के लिए साइन और लैंडमार्क डिटेक्शन के बारे में सीखना। संकेतों और स्थलों को पहचानने और संबंधित कार्यों को करने के लिए एक स्व-ड्राइविंग कार को सक्षम करने के लिए कोड लिखना।

All About Self-Driving Cars

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

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

How does AI make them smart?

AI का उपयोग रोबोट अपने आसपास के लोगों को समझने के लिए करते हैं जैसे कि लोग पैदल चल रहे हैं, स्ट्रीट लैंप, फुटपाथ, जानवर आदि AI यह समझने में मदद करता है कि ऐसी चीजों से बचने की जरूरत है ताकि कार दुर्घटनाओं से बच सके।

कार दिशा बदल सकती है, धीमी हो सकती है या बाधा दूर होने तक रुक भी सकती है। यह पता लगाता है कि दूसरी कार कितनी दूर है, किसी वाहन या सड़क पार करने वाले व्यक्ति जैसी बाधाओं की भविष्यवाणी करता है, और धीमा करने, रुकने या दिशाओं को बदलने जैसी सर्वोत्तम क्रिया का चयन करता है। AI यातायात और मौसम के आधार पर गंतव्य के लिए सर्वोत्तम मार्ग भी सुझा सकता है।

Applications

ड्राइविंग का भविष्य सेल्फ ड्राइविंग कारों का है। यहाँ उनके कई उपयोगी अनुप्रयोगों में से कुछ हैं:

  • सेल्फ-ड्राइविंग कारों का उपयोग कचरा संग्रह बॉट्स, डिलीवरी बॉट्स, खेती के वाहनों जैसे ट्रैक्टर आदि में किया जाता है।
  • वे वाहन के स्थान, ऊंचाई, घुमाव आदि को नोट करने के लिए सेंसर का उपयोग करते हैं जो असमान सड़कों पर ड्राइव करने में मदद करता है।
  • स्व-ड्राइविंग कारों का उपयोग कार को रिवर्स में चलाते समय मदद के लिए किया जाता है।

उनका उपयोग मंगल और अन्य ग्रहों जैसे नए क्षेत्रों का पता लगाने के लिए भी किया जाता है।

Activity 1: Detecting Signs & Landmarks

इससे पहले कि हम Quarky का उपयोग करके अपनी सेल्फ-ड्राइविंग कार बनाने के लिए कूदें, हमें पहले यह समझना होगा कि यह संकेतों और स्थलों का पता कैसे लगाएगा।

हम नंबरों का पता लगाने के लिए अपने स्मार्टफ़ोन के कैमरे का उपयोग करेंगे। यहाँ तर्क बहुत सरल है। हम कैमरे के सामने एक आकस्मिक संकेत लाएंगे। PictoBlox इसका पता लगाएगा और हमें बताएगा कि यह कौन सा चिन्ह है।

 

Coding Steps

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

  1. PictoBlox ऐप में एक नई फाइल बनाएं।
  2. Quarky को PictoBlox से कनेक्ट करें।
  3. Events पैलेट से स्क्रिप्टिंग क्षेत्र में when flag clicked ब्लॉक जोड़ें।
  4. अगला, स्क्रीन के निचले-बाएँ कोने में बैंगनी रंग के Add Extension बटन पर टैप करें। फिर, इसे अपने पैलेट में जोड़ने के लिए Autonomous Driving एक्सटेंशन का चयन करें।
  5. Camera Setting : हम मोबाइल/टैब के बैक कैमरे का उपयोग करना चाहेंगे।
    1. Setting पर क्लिक करें
    2. Camera पर क्लिक करें। फिर ड्रॉपडाउन से बैक कैमरा ( Camera 2 ) चुनें।
  6. फिर, Autonomous Driving एक्सटेंशन से turn ( ) video on stage with ( ) % transparency ब्लॉक जोड़ें और ड्रॉप-डाउन से फ़्लिप करें चुनें। इससे आपके स्मार्टफोन का रियर कैमरा ऑन हो जाएगा।
  7. एक ( ) bounding box ब्लॉक जोड़ें।
  8. अगला, एक set detection threshold to ( ) हम इसे 0.6 के रूप में सेट करने जा रहे हैं।
  9. अब, Control पैलेट से, forever ब्लॉक जोड़ें।
  10. forever ब्लॉक के अंदर, analyse image from ( ) ब्लॉक जोड़ें यह ब्लॉक उन वस्तुओं का पता लगाएगा और उनका विश्लेषण करेगा जिन्हें कैमरा देखता है।
  11. Control पैलेट से if-else ब्लॉक जोड़ें।
  12. पहले ( ) > ( ) ब्लॉक Operator पैलेट में if ब्लॉक जोड़ना # of objects detected ब्लॉक Autonomous Driving एक्सटेंशन से पहले अंतरिक्ष में और 0 दूसरी जगह में।
  13. Looks पैलेट से एक say ( ) ब्लॉक जोड़ें। ( ) of object ( ) ब्लॉक को say () ब्लॉक में रखें।
  14. else शाखा में एक और say ( ) ब्लॉक जोड़ें और संदेश जोड़ें – No Object Detected
  15. अब, green flag को क्लिक करके स्क्रिप्ट को चलाएँ और कैमरे के सामने एक-एक सिग्न और लैंडमार्क कार्ड लाकर देखें कि स्क्रिप्ट पूरी तरह से ठीक चल रही है या नहीं।
  16. फ़ाइल को Sign Detector के रूप में सहेजें।

Activity 1: Output

Activity 2: Making a Self-Driving Car

हमारी सेल्फ-ड्राइविंग कार के लिए कोड लिखने का समय आ गया है। कार को अपने रास्ते में संकेतों और स्थलों को पहचानना चाहिए और उसके अनुसार कार्रवाई करनी चाहिए:

  • Go Sign – Forward
  • Turn Left Sign – Left
  • Turn Right Sign – Right
  • U-Turn Sign – Backward

Coding Steps

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

  1. हम उस स्क्रिप्ट से शुरू करेंगे जिसे हमने पिछली गतिविधि में बनाया था।
  2. if-else ब्लॉक को if ब्लॉक से बदलें। समान शर्त जोड़ें।
  3. अगर हम if शर्त लगाने जा रहे हैं, उसके अंदर if ब्लॉक जोड़ें – क्या ऑब्जेक्ट क्लास GO है?
  4. ( ) contains ( )? ब्लॉक Operators पैलेट से निकाल के if ब्लॉक स्थिति में प्लेस करे
  5. ( ) of object ( ) ब्लॉक Autonomous Driving एक्सटेंशन से निकाल के ( ) contains ( )? ब्लॉक की पहली जगह में रखे। दूसरे स्थान में ” Go ” जोड़ें।
  6. Robot पैलेट से go ( ) at ( ) % speed for ( ) seconds जोड़ें। दिशा के रूप में Forward, गति के रूप में 60%और समय के रूप में 0.5 seconds का चयन करें।
  7. निम्न स्थितियों के लिए if ब्लॉक को तीन बार डुप्लिकेट करें:
    1. Turn Left – दिशा के रूप में Left चुनें, गति को 40% और समय को 5 seconds के रूप में चुनें।
    2. Turn Right – दिशा के रूप में Right चुनें, गति को 40% और समय को 5 seconds के रूप में चुनें।
    3. U-Turn – दिशा के रूप में Backward, 60% के रूप में गति और 5 seconds के रूप में समय का चयन करें।
  8. स्क्रिप्ट चलाने के लिए green flag पर क्लिक करें। संकेतों (signs) और स्थलों (landmarks) को लगाकर अपना शहर बनाएं और फिर कार को अपने आप ड्राइव करें।
  9. फाइल को Self Driving Car के रूप में सेव करें।

Activity 2: Output

Challenge: Handling Multiple Signs

एक कार कई संकेतों को कैसे संभालती है?

वैसे, 2 नियम हैं जिन्हें आप परिभाषित कर सकते हैं:

  1. Set a Priority List : आप एक प्राथमिकता सूची बना सकते हैं जो नियमों के लिए नियमों को परिभाषित (define) करने में आपकी सहायता करती है। आप इसे if-else ब्लॉक से आसानी से कर सकते हैं।
  2. Closes First : रोबोट रोबोट के सबसे करीब के चिन्ह का अनुसरण करेगा। इस स्थिति में, हमारे पास रोबोट दाएँ मुड़ेगा।

आइए दूसरी शर्त के लिए स्क्रिप्ट बनाते हैं- Closes First । इस प्रोजेक्ट को बनाने के लिए हमें इसे 2 भागों में बांटना होगा:

  1. नजदीक चिह्न ढूँढना।
  2. संकेत के अनुसार क्रिया करना। Move Robot नाम का कस्टम ब्लॉक बनाएं जो रोबोट को अधिकतम चौड़ाई वाले साइन के अनुसार मूव करता है।

संकेत सेट करें और इसका परीक्षण करने के लिए स्क्रिप्ट चलाएँ।

 

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

Table of Contents