अग्नि सुरक्षा का विश्वकोश

काली रेखा गणित ब्लॉक ev3 के साथ आगे बढ़ना। लेगो EV3. काली रेखा के साथ संचलन. रंग सेंसर - "परिवेश प्रकाश चमक" मोड

कार्य का पाठ छवियों और सूत्रों के बिना पोस्ट किया गया है।
पूर्ण संस्करणकार्य पीडीएफ प्रारूप में "कार्य फ़ाइलें" टैब में उपलब्ध है

लेगो माइंडस्टॉर्म EV3

प्रारंभिक चरण

प्रोग्राम निर्माण और अंशांकन

निष्कर्ष

साहित्य

1 परिचय।

रोबोटिक्स वैज्ञानिक और तकनीकी प्रगति के सबसे महत्वपूर्ण क्षेत्रों में से एक है, जिसमें यांत्रिकी और नई प्रौद्योगिकियों की समस्याएं कृत्रिम बुद्धिमत्ता की समस्याओं के संपर्क में आती हैं।

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

माइंडस्टॉर्म EV3 डिज़ाइनर हमें रोबोट की आकर्षक दुनिया में प्रवेश करने और सूचना प्रौद्योगिकी के जटिल वातावरण में डूबने के लिए आमंत्रित करता है।

लक्ष्य: रोबोट को एक सीधी रेखा में चलने के लिए प्रोग्राम करना सीखें।

    माइंडस्टॉर्म EV3 डिज़ाइनर और उसके प्रोग्रामिंग वातावरण से परिचित हों।

    रोबोट को 30 सेमी, 1 मीटर 30 सेमी और 2 मीटर 17 सेमी पर एक सीधी रेखा में चलने के लिए प्रोग्राम लिखें।

    माइंडस्टॉर्म EV3 कंस्ट्रक्टर।

डिजाइनर पार्ट्स - 601 पीसी।, सर्वोमोटर - 3 पीसी।, कलर सेंसर, टच मोशन सेंसर, अवरक्त संवेदकऔर एक स्पर्श सेंसर। माइक्रोप्रोसेसर इकाई EV3 लेगो माइंडस्टॉर्म का मस्तिष्क है।

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

आप इसका उपयोग करके रोबोट को कोई कार्य करने के लिए बाध्य कर सकते हैं कंप्यूटर प्रोग्रामईवी3. कार्यक्रम में विभिन्न नियंत्रण ब्लॉक शामिल हैं। हम मोशन ब्लॉक के साथ काम करेंगे.

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

    प्रारंभिक चरण.

    एक तकनीकी क्षेत्र का निर्माण.

आइए रोबोट के कार्य क्षेत्र पर निशान लगाएं, बिजली के टेप और एक रूलर का उपयोग करके, 30 सेमी लंबी तीन रेखाएं बनाएं - हरी रेखा, 1 मीटर 15 सेमी - लाल और 2 मीटर 17 सेमी - काली रेखा।

    आवश्यक गणनाएँ:

रोबोट के पहिये का व्यास 5 सेमी 7 मिमी = 5.7 सेमी है।

रोबोट के पहिये की एक परिक्रमा 5.7 सेमी व्यास वाले एक वृत्त की लंबाई के बराबर है। हम सूत्र का उपयोग करके परिधि ज्ञात करते हैं

जहाँ r पहिये की त्रिज्या है, d व्यास है, π = 3.14 है

एल = 5,7 * 3,14 = 17,898 = 17,9.

वे। पहिये की एक क्रांति के लिए, रोबोट 17.9 सेमी की यात्रा करता है।

आइए ड्राइव करने के लिए आवश्यक क्रांतियों की संख्या की गणना करें:

एन = 30: 17.9 = 1.68.

    1 मीटर 30 सेमी = 130 सेमी

एन = 130: 17.9 = 7.26.

    2 मीटर 17 सेमी = 217 सेमी.

एन = 217: 17.9 = 12.12.

    प्रोग्राम का निर्माण एवं अंशांकन.

हम निम्नलिखित एल्गोरिथम का उपयोग करके प्रोग्राम बनाएंगे:

कलन विधि:

    माइंडस्टॉर्म EV3 प्रोग्राम में एक मूवमेंट ब्लॉक चुनें।

    दोनों मोटरों को दी गई दिशा में चालू करें।

    किसी एक मोटर के रोटेशन सेंसर की रीडिंग निर्दिष्ट मान में बदलने तक प्रतीक्षा करें।

    मोटरें बंद कर दें.

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

    फ़ील्ड को छात्र डेस्क पर स्थापित किया गया है, इसलिए सतह का थोड़ा विचलन संभव है।

    मैदान की सतह चिकनी है, इसलिए रोबोट के पहियों का मैदान से खराब जुड़ाव संभव है।

    क्रांतियों की संख्या की गणना करने में, हमें संख्याओं को पूर्णांकित करना पड़ा, और इसलिए, क्रांतियों में सौवें को बदलकर, हमने आवश्यक परिणाम प्राप्त किया।

5। उपसंहार।

रोबोट को एक सीधी रेखा में चलने के लिए प्रोग्राम करने की क्षमता अधिक जटिल प्रोग्राम बनाने के लिए उपयोगी होगी। एक नियम के रूप में, रोबोटिक्स प्रतियोगिताओं के लिए तकनीकी विनिर्देश आंदोलन के सभी आयामों को दर्शाते हैं। वे आवश्यक हैं ताकि प्रोग्राम तार्किक स्थितियों, लूपों और अन्य जटिल नियंत्रण ब्लॉकों से अतिभारित न हो।

पर अगला पड़ावलेगो माइंडस्टॉर्म ईवी3 रोबोट से परिचित होने पर आपको सीखना होगा कि एक निश्चित कोण पर घुमावों, एक वृत्त में गति और सर्पिलों को कैसे प्रोग्राम किया जाए।

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

साहित्य।

    कोपोसोव डी. जी. "ग्रेड 5-6 के लिए रोबोटिक्स में पहला कदम।" - एम.: बिनोम। ज्ञान प्रयोगशाला, 2012 - 286 पी।

    फ़िलिपोव एस. ए. "बच्चों और माता-पिता के लिए रोबोटिक्स" - "विज्ञान" 2010

    इंटरनेट संसाधन

    http://लेगो. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskoy/

    http://www. लेगो com/शिक्षा/

इस पाठ में हम रंग सेंसर के उपयोग का पता लगाना जारी रखेंगे। नीचे प्रस्तुत सामग्री रोबोटिक्स पाठ्यक्रम के आगे के अध्ययन के लिए बहुत महत्वपूर्ण है। कई व्यावहारिक समस्याओं को हल करते समय लेगो माइंडस्टॉर्म ईवी 3 कंस्ट्रक्टर के सभी सेंसर का उपयोग करने का तरीका सीखने के बाद, हम इस पाठ में प्राप्त ज्ञान पर भरोसा करेंगे।

6.1. रंग सेंसर - "प्रतिबिंबित प्रकाश चमक" मोड

तो, हम रंग सेंसर के संचालन के अगले मोड का अध्ययन करना शुरू करते हैं, जिसे कहा जाता है "परावर्तित प्रकाश की चमक". इस मोड में, रंग सेंसर लाल प्रकाश की एक धारा को पास की वस्तु या सतह पर निर्देशित करता है और परावर्तित प्रकाश की मात्रा को मापता है। गहरे रंग की वस्तुएं प्रकाश प्रवाह को अवशोषित करेंगी, इसलिए सेंसर हल्की सतहों की तुलना में कम मूल्य दिखाएगा। सेंसर वैल्यू रेंज को मापा जाता है 0 (बहुत अंधेरा) को 100 (बहुत गहरा)। रंग सेंसर के संचालन के इस तरीके का उपयोग कई रोबोटिक्स कार्यों में किया जाता है, उदाहरण के लिए, एक सफेद कोटिंग पर मुद्रित काली रेखा के साथ दिए गए मार्ग पर रोबोट की गति को व्यवस्थित करने के लिए। इस मोड का उपयोग करते समय, सेंसर को ऐसी स्थिति में रखने की अनुशंसा की जाती है ताकि अध्ययन के तहत सतह से इसकी दूरी लगभग हो 1 सेमी (चित्र 1).

चावल। 1

चलिए आगे बढ़ते हैं व्यावहारिक कक्षाएं: रंग सेंसर पहले से ही हमारे रोबोट पर स्थापित है और कोटिंग की सतह की ओर नीचे निर्देशित है जिस पर हमारा रोबोट चलेगा। सेंसर और फर्श के बीच की दूरी अनुशंसित है। रंग सेंसर पहले से ही पोर्ट से जुड़ा हुआ है "2" EV3 मॉड्यूल. आइए प्रोग्रामिंग वातावरण को लोड करें, रोबोट को पर्यावरण से कनेक्ट करें और, माप लेने के लिए, रंगीन पट्टियों वाले फ़ील्ड का उपयोग करें जिसे हमने पाठ संख्या 5 के खंड 5.4 के कार्यों को पूरा करने के लिए बनाया है। आइए रोबोट को स्थापित करें ताकि रंग सेंसर सफेद सतह के ऊपर स्थित हो। "हार्डवेयर पेज"प्रोग्रामिंग वातावरण को मोड में बदलें "पोर्ट देखें" (चित्र 2 आइटम 1). इस मोड में हम अपने द्वारा बनाए गए सभी कनेक्शनों का निरीक्षण कर सकते हैं। पर चावल। 2बंदरगाहों से कनेक्शन प्रदर्शित होता है "बी"और "सी"दो बड़ी मोटरें, और बंदरगाह तक "2" - रंग सेंसर.

चावल। 2

सेंसर रीडिंग प्रदर्शित करने के लिए एक विकल्प चुनने के लिए, सेंसर छवि पर क्लिक करें और चुनें वांछित मोड (चित्र 3)

चावल। 3

पर चावल। 2 स्थिति. 2हम देखते हैं कि सफेद सतह के ऊपर पढ़ने वाले रंग सेंसर का मान है 84 . आपके मामले में, आपको एक अलग मूल्य मिल सकता है, क्योंकि यह सतह की सामग्री और कमरे के अंदर की रोशनी पर निर्भर करता है: सतह से परावर्तित प्रकाश का हिस्सा, सेंसर से टकराता है और उसकी रीडिंग को प्रभावित करता है। रोबोट को स्थापित करने के बाद ताकि रंग सेंसर काली पट्टी के ऊपर स्थित हो, हम इसकी रीडिंग रिकॉर्ड करते हैं (चित्र 4). शेष रंग बैंडों के ऊपर परावर्तित प्रकाश मानों को स्वयं मापने का प्रयास करें। आपको क्या मूल्य मिले? इस पाठ की टिप्पणियों में अपना उत्तर लिखें।

चावल। 4

आइए अब व्यावहारिक समस्याओं का समाधान करें।

कार्य #11:रोबोट की गति के लिए एक प्रोग्राम लिखना आवश्यक है जो काली रेखा पर पहुंचने पर रुक जाता है।

समाधान:

प्रयोग ने हमें दिखाया कि काली रेखा को पार करते समय, रंग सेंसर का मान मोड में होता है "परावर्तित प्रकाश की चमक"के बराबर होती है 6 . तो, प्रदर्शन करने के लिए समस्या क्रमांक 11हमारे रोबोट को एक सीधी रेखा में तब तक चलना चाहिए जब तक कि रंग सेंसर का वांछित मान कम न हो जाए 7 . आइए पहले से परिचित प्रोग्राम ब्लॉक का उपयोग करें "अपेक्षा"नारंगी पैलेट. आइए समस्या स्थितियों के लिए आवश्यक सॉफ़्टवेयर ब्लॉक के ऑपरेटिंग मोड का चयन करें "प्रतीक्षा" (चित्र 5)।

चावल। 5

प्रोग्राम ब्लॉक के मापदंडों को कॉन्फ़िगर करना भी आवश्यक है "अपेक्षा". पैरामीटर "तुलना प्रकार" (चित्र 6 आइटम 1)निम्नलिखित मान ले सकते हैं: "बराबर"=0, "सम नही"=1, "अधिक"=2, "अधिक या बराबर"=3, "कम"=4, "कम या बराबर"=5. हमारे मामले में, आइए सेट करें "तुलना प्रकार"अर्थ में "कम". पैरामीटर "सीमा मूल्य"बराबर सेट करें 7 (चित्र 6 आइटम 2).

चावल। 6

जैसे ही कलर सेंसर का मान कम पर सेट होता है 7 , क्या होगा जब रंग सेंसर काली रेखा के ऊपर स्थित होगा, हमें रोबोट को रोकते हुए मोटरों को बंद करना होगा। समस्या हल हो गई (चित्र 7).

चावल। 7

अपने पाठों को जारी रखने के लिए, हमें एक नया क्षेत्र बनाने की आवश्यकता होगी, जो लगभग 1 मीटर व्यास वाला एक काला वृत्त है, जो एक सफेद क्षेत्र पर लागू होता है। वृत्त रेखा की मोटाई 2 - 2.5 सेमी है। फ़ील्ड के आधार के लिए, आप कागज़ के आकार A0 (841x1189 मिमी) की एक शीट ले सकते हैं, कागज़ के आकार A1 (594x841 मिमी) की दो शीटों को एक साथ चिपका सकते हैं। इस क्षेत्र में एक वृत्त रेखा अंकित करें और उसे काली स्याही से रंग दें। आप एडोब इलस्ट्रेटर प्रारूप में बने फ़ील्ड लेआउट को भी डाउनलोड कर सकते हैं, और फिर इसे प्रिंटिंग हाउस में बैनर फैब्रिक पर मुद्रित करने का ऑर्डर दे सकते हैं। लेआउट का आकार 1250x1250 मिमी है। (आप नीचे डाउनलोड किए गए लेआउट को Adobe Acrobat Reader में खोलकर देख सकते हैं)

रोबोटिक्स पाठ्यक्रम में कई क्लासिक समस्याओं को हल करने के लिए यह क्षेत्र हमारे लिए उपयोगी होगा।

कार्य #12:निम्नलिखित नियम के अनुसार काले वृत्त से घिरे वृत्त के अंदर घूमने वाले रोबोट के लिए एक प्रोग्राम लिखना आवश्यक है:

  • रोबोट एक सीधी रेखा में आगे बढ़ता है;
  • काली रेखा पर पहुँचने पर, रोबोट रुक जाता है;
  • रोबोट मोटरों के दो चक्कर पीछे ले जाता है;
  • रोबोट 90 डिग्री दाईं ओर मुड़ता है;
  • रोबोट की गति दोहराई जाती है।

पिछले पाठों में प्राप्त ज्ञान आपको स्वयं एक कार्यक्रम बनाने में मदद करेगा, निर्णायक समस्या №12.

समस्या क्रमांक 12 का समाधान

  1. शुरू सीधीरेखीय गतिआगे (चित्र 8 आइटम 1);
  2. रंग सेंसर के काली रेखा को पार करने की प्रतीक्षा करें (चित्र 8 आइटम 2);
  3. 2 बार पीछे की ओर जाएँ (चित्र 8 आइटम 3);
  4. 90 डिग्री दाएँ मुड़ें (चित्र 8 आइटम 4); छोटे-रोबोट-45544 निर्देशों के अनुसार असेंबल किए गए रोबोट के लिए रोटेशन कोण मान की गणना की जाती है (चित्र 8 आइटम 5);
  5. एक अंतहीन लूप में आदेश 1 - 4 दोहराएँ (चित्र 8 आइटम 6).

चावल। 8

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

6.2. रंग सेंसर - "परिवेश प्रकाश चमक" मोड

रंग सेंसर ऑपरेटिंग मोड "बाहरी प्रकाश चमक"मोड के समान ही "परावर्तित प्रकाश की चमक", केवल इस मामले में सेंसर प्रकाश उत्सर्जित नहीं करता है, बल्कि प्राकृतिक प्रकाश रोशनी को मापता है पर्यावरण. दृश्यमान रूप से, सेंसर के संचालन का यह तरीका कमजोर चमकती नीली एलईडी द्वारा निर्धारित किया जा सकता है। सेंसर की रीडिंग अलग-अलग होती है 0 (कोई रोशनी नहीं) जब तक 100 (सबसे चमकदार रोशनी). बाहरी प्रकाश व्यवस्था को मापने की आवश्यकता वाली व्यावहारिक समस्याओं को हल करते समय, सेंसर को स्थिति में रखने की सिफारिश की जाती है ताकि सेंसर यथासंभव खुला रहे और अन्य भागों और संरचनाओं द्वारा अवरुद्ध न हो।

आइए रंग सेंसर को अपने रोबोट से उसी तरह जोड़ें जैसे हमने पाठ #4 में टच सेंसर को जोड़ा था (चित्र 9). कलर सेंसर को केबल से पोर्ट से कनेक्ट करें "2" EV3 मॉड्यूल. आइए व्यावहारिक समस्याओं को हल करने की ओर आगे बढ़ें।

चावल। 9

कार्य #13:हमें एक प्रोग्राम लिखना होगा जो बाहरी प्रकाश की तीव्रता के आधार पर हमारे रोबोट की गति को बदल दे।

इस समस्या को हल करने के लिए, हमें यह जानना होगा कि सेंसर का वर्तमान मूल्य कैसे प्राप्त करें। और प्रोग्राम ब्लॉक का पीला पैलेट, जिसे कहा जाता है "सेंसर".

6.3. पीला पैलेट - "सेंसर"

लेगो माइंडस्टॉर्म EV3 प्रोग्रामिंग वातावरण के पीले पैलेट में सॉफ़्टवेयर ब्लॉक होते हैं जो आपको वर्तमान सेंसर रीडिंग प्राप्त करने की अनुमति देते हैं आगे की प्रक्रियाएक कार्यक्रम में. उदाहरण के लिए, एक प्रोग्राम ब्लॉक के विपरीत "अपेक्षा"ऑरेंज पैलेट में, पीले पैलेट में प्रोग्राम ब्लॉक तुरंत नियंत्रण को निम्नलिखित प्रोग्राम ब्लॉक में स्थानांतरित कर देते हैं।

येलो पैलेट के प्रोग्राम ब्लॉक की संख्या प्रोग्रामिंग वातावरण के घरेलू और शैक्षिक संस्करणों में भिन्न होती है। प्रोग्रामिंग वातावरण के होम संस्करण में सेंसर के लिए सॉफ़्टवेयर ब्लॉक नहीं हैं जो डिज़ाइनर के होम संस्करण में शामिल नहीं हैं। लेकिन, यदि आवश्यक हो, तो आप उन्हें स्वयं कनेक्ट कर सकते हैं।

प्रोग्रामिंग वातावरण के शैक्षिक संस्करण में सभी सेंसरों के लिए प्रोग्राम ब्लॉक शामिल हैं जिनका उपयोग किया जा सकता है लेगो कंस्ट्रक्टरमाइंडस्टॉर्म EV3.

चलिए समाधान पर वापस आते हैं समस्या क्रमांक 13और आइए देखें कि आप रंग सेंसर रीडिंग कैसे प्राप्त और संसाधित कर सकते हैं। जैसा कि हम पहले से ही जानते हैं: मोड में रंग सेंसर मूल्यों की सीमा "बाहरी प्रकाश चमक"के दायरे में है 0 पहले 100 . मोटर शक्ति को नियंत्रित करने वाले पैरामीटर की सीमा समान होती है। आइए सॉफ़्टवेयर ब्लॉक में मोटरों की शक्ति को विनियमित करने के लिए रंग सेंसर रीडिंग का उपयोग करने का प्रयास करें "संचालन".

समाधान:


चावल। 10

आइए परिणामी प्रोग्राम को रोबोट में लोड करें और इसे निष्पादन के लिए चलाएं। क्या रोबोट धीरे चला? आइए एलईडी टॉर्च चालू करें और इसे रंग सेंसर पर लाने का प्रयास करें अलग-अलग दूरी पर. रोबोट के साथ क्या हो रहा है? आइए कलर सेंसर को अपनी हथेली से ढकें - इस मामले में क्या हुआ? इन प्रश्नों के उत्तर पाठ की टिप्पणियों में लिखें।

चुनौती - बोनस

इसे रोबोट में लोड करें और नीचे दिए गए चित्र में दिखाए गए कार्य को चलाएं। एलईडी टॉर्च के साथ प्रयोग दोहराएं। पाठ पर टिप्पणियों में अपने विचार साझा करें।

यह समस्या क्लासिक है, वैचारिक रूप से सरल है, इसे कई बार हल किया जा सकता है, और हर बार आप अपने लिए कुछ नया खोजेंगे।

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

हमारे उदाहरण में, रोबोट एजुकेटर के मुख्य शैक्षिक मॉडल के आधार पर रोबोट के तीन उदाहरणों का विश्लेषण किया जाएगा।

आरंभ करने के लिए, आइए एकत्र करें बुनियादी मॉडलशैक्षिक रोबोट रोबोट एजुकेटर, इसके लिए आप इसमें दिए गए निर्देशों का उपयोग कर सकते हैं सॉफ़्टवेयरमाइंडस्टॉर्म EV3.

इसके अलावा, उदाहरण के लिए, हमें EV3 हल्के रंग के सेंसर की आवश्यकता होगी। ये प्रकाश सेंसर किसी अन्य की तरह नहीं हैं सबसे अच्छा तरीकाहमारे कार्य के लिए उपयुक्त; उनके साथ काम करते समय, हमें आसपास की रोशनी की तीव्रता के बारे में चिंता करने की ज़रूरत नहीं है। इस सेंसर के लिए, प्रोग्रामों में हम परावर्तित प्रकाश मोड का उपयोग करेंगे, जिसमें सेंसर की लाल बैकलाइट से परावर्तित प्रकाश की मात्रा का अनुमान लगाया जाता है। "कोई प्रतिबिंब नहीं" और "के लिए सेंसर रीडिंग की सीमा 0 - 100 यूनिट है संपूर्ण प्रतिबिंब" क्रमश।

एक उदाहरण के रूप में, हम एक सपाट, हल्की पृष्ठभूमि पर चित्रित काले प्रक्षेपवक्र के साथ आगे बढ़ने के लिए कार्यक्रमों के 3 उदाहरणों का विश्लेषण करेंगे:

· एक सेंसर, पी रेगुलेटर के साथ।

· एक सेंसर, पीसी रेगुलेटर के साथ।

· दो सेंसर.

उदाहरण 1. एक सेंसर, पी रेगुलेटर के साथ।

डिज़ाइन

प्रकाश संवेदक मॉडल पर सुविधाजनक रूप से स्थित बीम पर स्थापित किया गया है।


कलन विधि

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


चूंकि वास्तविक प्रक्षेपवक्र पर सेंसर अपनी संपूर्ण ऑपरेटिंग रेंज (0-100) में मान उत्पन्न करता है, 50 को उस मान के रूप में चुना जाता है जिसके लिए रोबोट प्रयास करता है, इस मामले में, रोटेशन फ़ंक्शन में प्रेषित मान उत्पन्न होते हैं सीमा -50 - 50, लेकिन ये मान प्रक्षेपवक्र को तेजी से मोड़ने के लिए पर्याप्त नहीं हैं। इसलिए, सीमा को डेढ़ गुना बढ़ाकर -75 - 75 किया जाना चाहिए।

परिणामस्वरूप, प्रोग्राम में, कैलकुलेटर फ़ंक्शन एक सरल आनुपातिक नियंत्रक है। जिसका कार्य ( (ए-50)*1.5 ) प्रकाश संवेदक की ऑपरेटिंग रेंज में ग्राफ़ के अनुसार रोटेशन मान उत्पन्न होता है:

एल्गोरिदम कैसे काम करता है इसका उदाहरण

उदाहरण 2. एक सेंसर, पीके रेगुलेटर के साथ।

यह उदाहरण उसी निर्माण पर आधारित है.

आपने शायद देखा होगा कि पिछले उदाहरण में रोबोट अत्यधिक हिल गया था, जिससे उसे पर्याप्त गति नहीं मिल पाई। अब हम इस स्थिति को थोड़ा सुधारने का प्रयास करेंगे.

हमारे लिए आनुपातिक नियंत्रकहम एक साधारण क्यूबिक समायोजक भी जोड़ रहे हैं जो समायोजक फ़ंक्शन में कुछ फ्लेक्स जोड़ देगा। इससे प्रक्षेप पथ की वांछित सीमा के पास रोबोट का हिलना कम हो जाएगा, साथ ही इससे दूर होने पर मजबूत झटके भी लगेंगे।

आइए EV3 पर एक रंग सेंसर पर काली रेखा के साथ चलने के लिए सबसे सरल एल्गोरिदम देखें।

यह एल्गोरिथम सबसे धीमा, लेकिन सबसे स्थिर है।

रोबोट सख्ती से काली रेखा के साथ नहीं, बल्कि उसकी सीमा के साथ, बाएँ और दाएँ मुड़ता हुआ और धीरे-धीरे आगे बढ़ेगा।

एल्गोरिदम बहुत सरल है: यदि सेंसर काला देखता है, तो रोबोट एक दिशा में मुड़ता है, यदि सफेद दिखाई देता है, तो दूसरी दिशा में।

लेगो माइंडस्टॉर्म EV3 वातावरण में कार्यान्वयन

दोनों मोशन ब्लॉक में, "सक्षम करें" मोड का चयन करें। हम स्विच को रंग सेंसर - माप - रंग पर सेट करते हैं। सबसे नीचे, "कोई रंग नहीं" को सफ़ेद में बदलना न भूलें। साथ ही, आपको सभी पोर्ट सही ढंग से निर्दिष्ट करने होंगे.

एक साइकिल जोड़ना न भूलें, इसके बिना रोबोट कहीं नहीं जाएगा।

इसकी जांच - पड़ताल करें। उपलब्धि के लिए सर्वोत्तम परिणामस्टीयरिंग और पावर मान बदलने का प्रयास करें।

दो सेंसर के साथ आंदोलन:

आप पहले से ही एक सेंसर का उपयोग करके रोबोट को काली रेखा पर ले जाने के एल्गोरिदम को जानते हैं। आज हम दो रंगीन सेंसरों का उपयोग करके एक रेखा के साथ आगे बढ़ने पर विचार करेंगे।
सेंसरों को स्थापित किया जाना चाहिए ताकि काली रेखा उनके बीच चले।


एल्गोरिथ्म इस प्रकार होगा:
यदि दोनों सेंसर देखते हैं सफेद रंग- आगे बढ़ते हुए;
यदि एक सेंसर सफेद और दूसरा काला देखता है, तो काले की ओर मुड़ें;
यदि दोनों सेंसर काले दिखते हैं, तो हम एक चौराहे पर हैं (उदाहरण के लिए, हम रुक जाएंगे)।

एल्गोरिदम को लागू करने के लिए, हमें दोनों सेंसरों की रीडिंग की निगरानी करने की आवश्यकता होगी, और उसके बाद ही रोबोट को चलने के लिए सेट करना होगा। ऐसा करने के लिए, हम दूसरे स्विच के भीतर नेस्टेड स्विच का उपयोग करेंगे। इस प्रकार, हम पहले पहले सेंसर का सर्वेक्षण करेंगे, और फिर, पहले की रीडिंग की परवाह किए बिना, हम दूसरे सेंसर का सर्वेक्षण करेंगे, जिसके बाद हम कार्रवाई निर्धारित करेंगे।
आइए बाएं सेंसर को पोर्ट नंबर 1 से कनेक्ट करें, दाएं सेंसर को पोर्ट नंबर 4 से कनेक्ट करें।

टिप्पणियों के साथ कार्यक्रम:

यह न भूलें कि हम मोटरों को "चालू" मोड में शुरू करते हैं ताकि वे सेंसर रीडिंग के आधार पर जब तक आवश्यक हो तब तक काम करें। साथ ही, लोग अक्सर लूप की आवश्यकता के बारे में भूल जाते हैं - इसके बिना, प्रोग्राम तुरंत समाप्त हो जाएगा।

http://studrobots.ru/

NXT मॉडल के लिए भी यही कार्यक्रम:

आंदोलन कार्यक्रम का अध्ययन करें. रोबोट को प्रोग्राम करें. मॉडल परीक्षण का वीडियो भेजें

15.01.2012, 18:51

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

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

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

ऊपर दिया गया चित्र तुरंत दिखाता है कि प्रोग्राम में मोटरों का व्यवहार वास्तव में कैसे बदलना चाहिए, अब, प्रोग्राम लिखना मुश्किल नहीं होना चाहिए, आपको यह चुनकर शुरुआत करनी चाहिए कि कौन सा सेंसर पहले चुना जाएगा। यह नहीं है काफी महत्व की, तो रहने दो। यह निर्धारित करना आवश्यक है कि यह प्रकाश या अंधेरे सतह से ऊपर है:
यह क्रिया आपको अभी तक यह कहने की अनुमति नहीं देती है कि रोबोट को किस दिशा में जाना चाहिए। लेकिन यह ऊपर सूचीबद्ध राज्यों को दो समूहों में विभाजित करेगा: (I, II) ऊपरी शाखा के लिए और (III, IV) निचली शाखा के लिए। प्रत्येक समूह में अब दो राज्य हैं, इसलिए आपको उनमें से एक को चुनना होगा। यदि आप पहले दो राज्यों I और II को करीब से देखते हैं, तो वे सही सेंसर की स्थिति में भिन्न होते हैं - एक मामले में यह एक प्रकाश सतह के ऊपर होता है, दूसरे में - एक अंधेरे सतह के ऊपर। यही वह चीज़ है जो यह तय करेगी कि क्या कार्रवाई की जाए:
अब आप ऐसे ब्लॉक सम्मिलित कर सकते हैं जो उपरोक्त तालिकाओं के अनुसार मोटरों के व्यवहार को परिभाषित करते हैं: नेस्टेड स्थिति की ऊपरी शाखा "प्रकाश पर दोनों सेंसर" संयोजन को परिभाषित करती है, शीर्ष - "प्रकाश पर बाएं, अंधेरे पर दाएं":
मुख्य स्थिति की निचली शाखा III और IV स्थितियों के दूसरे समूह के लिए जिम्मेदार है। दोनों स्थितियाँ प्रकाश के स्तर में भी एक दूसरे से भिन्न होती हैं जिसे सही सेंसर पहचानता है। इसका मतलब यह है कि यह उनमें से प्रत्येक की पसंद का निर्धारण करेगा:
परिणामी दो शाखाएँ संचलन ब्लॉकों से भरी हुई हैं। ऊपरी शाखा "अंधेरे में बाईं ओर, प्रकाश में दाईं ओर" स्थिति के लिए जिम्मेदार है, और निचली शाखा "अंधेरे में दोनों सेंसर" के लिए जिम्मेदार है।
यह ध्यान दिया जाना चाहिए कि यह डिज़ाइन केवल यह निर्धारित करता है कि फ़ील्ड में एक निश्चित स्थान पर सेंसर की रीडिंग के आधार पर मोटरों को कैसे चालू किया जाए, एक पल के बाद, प्रोग्राम को यह जांचना होगा कि समायोजित करने के लिए रीडिंग बदल गई है या नहीं; मोटरों का व्यवहार तदनुसार, और एक क्षण के बाद फिर से, फिर से, आदि। इसलिए, इसे एक लूप में रखा जाना चाहिए जो यह बार-बार जांच प्रदान करेगा:

बेहद खूबसूरत सरल कार्यक्रमयदि आप राज्यों I और IV में चलते समय अधिकतम गति को सही ढंग से कॉन्फ़िगर करते हैं, और सेट भी करते हैं, तो रोबोट अपनी सीमा से परे उड़ान के बिना लाइन के साथ गति की काफी उच्च गति प्रदान करेगा। सबसे अच्छा तरीकाराज्य II और III में ब्रेक लगाना - राजमार्ग पर मोड़ जितने तेज होंगे, ब्रेक लगाना उतना ही "कठिन" होना चाहिए - गति को तेजी से कम करना चाहिए, और इसके विपरीत - सुचारू मोड़ के साथ बिजली बंद करके ब्रेक लगाना काफी संभव है या यहां तक ​​कि गति को पूरी तरह से कम करके भी।

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



संबंधित प्रकाशन