दोन लाइट सेन्सरसह लाइन ट्रॅकिंग. स्टार्ट इन सायन्स लेगो ev3 ब्लॅक लाईन फॉलो करा

हे कार्य शास्त्रीय, वैचारिकदृष्ट्या सोपे आहे, ते बर्याच वेळा सोडवले जाऊ शकते आणि प्रत्येक वेळी आपल्याला काहीतरी नवीन सापडेल.

खालील समस्या सोडवण्यासाठी अनेक पध्दती आहेत. त्यापैकी एकाची निवड रोबोटच्या विशिष्ट डिझाइनवर, सेन्सर्सच्या संख्येवर, चाकांशी संबंधित त्यांचे स्थान आणि एकमेकांवर अवलंबून असते.

आमच्या उदाहरणात, मुख्य रोबोट एज्युकेटर ट्यूटोरियल मॉडेलवर आधारित तीन रोबोट उदाहरणे वेगळे केली जातील.

सुरुवातीला, आम्ही रोबोट एज्युकेटरचे मूलभूत मॉडेल एकत्र करतो, यासाठी तुम्ही MINDSTORMS EV3 सॉफ्टवेअरमधील सूचना वापरू शकता.

तसेच, उदाहरणांसाठी, आम्हाला EV3 लाईट-कलर सेन्सर्सची आवश्यकता आहे. हे प्रकाश संवेदक, इतर कोणत्याहीसारखे नाहीत, सर्वोत्तम मार्गआमच्या कार्यासाठी योग्य, त्यांच्याबरोबर काम करताना, आम्हाला सभोवतालच्या प्रकाशाच्या तीव्रतेबद्दल काळजी करण्याची गरज नाही. या सेन्सरसाठी, प्रोग्राम्समध्ये आम्ही परावर्तित प्रकाश मोड वापरू, ज्यामध्ये सेन्सरच्या लाल प्रदीपनच्या परावर्तित प्रकाशाचे प्रमाण मोजले जाते. सेन्सर रीडिंगची मर्यादा अनुक्रमे 0 - 100 युनिट्स आहेत, "कोणतेही प्रतिबिंब नाही" आणि "एकूण प्रतिबिंब" साठी.

उदाहरणार्थ, आम्ही सम, हलक्या पार्श्वभूमीवर चित्रित केलेल्या काळ्या मार्गावर जाण्यासाठी प्रोग्रामच्या 3 उदाहरणांचे विश्लेषण करू:

पी रेग्युलेटरसह एक सेन्सर.

पीके रेग्युलेटरसह एक सेन्सर.

· दोन सेन्सर.

उदाहरण 1. पी रेग्युलेटरसह एक सेन्सर.

रचना

लाईट सेन्सर मॉडेलवर सोयीस्करपणे स्थित असलेल्या बीमवर माउंट केले आहे.


अल्गोरिदम

अल्गोरिदमचे ऑपरेशन या वस्तुस्थितीवर आधारित आहे की, ओव्हरलॅपच्या डिग्रीवर अवलंबून, काळ्या रेषेसह सेन्सर प्रदीपन बीम, सेन्सरद्वारे परत केलेले रीडिंग ग्रेडियंटमध्ये बदलते. काळ्या रेषेच्या सीमेवर रोबो प्रकाश सेन्सरची स्थिती ठेवतो. लाइट सेन्सरमधून इनपुट डेटा रूपांतरित करून, कंट्रोल सिस्टम रोबोटच्या वळणाच्या गतीचे मूल्य व्युत्पन्न करते.


वास्तविक प्रक्षेपणावर सेन्सर त्याच्या संपूर्ण ऑपरेटिंग रेंजमध्ये (0-100) मूल्ये व्युत्पन्न करतो, रोबोट ज्या मूल्यासाठी प्रयत्न करतो ते मूल्य 50 आहे. या प्रकरणात, रोटेशन फंक्शनमध्ये प्रसारित केलेली मूल्ये श्रेणीमध्ये तयार केली जातात. -50 - 50, परंतु ही मूल्ये तीव्र प्रक्षेपक रोटेशनसाठी पुरेसे नाहीत. म्हणून, श्रेणी दीड पटीने -75 - 75 पर्यंत वाढविली पाहिजे.

शेवटी, प्रोग्राममध्ये, कॅल्क्युलेटर फंक्शन एक साधा आनुपातिक नियंत्रक आहे. कोणाचे कार्य ( (a-50)*1.5 ) लाइट सेन्सरच्या ऑपरेटिंग रेंजमध्ये आलेखाच्या अनुषंगाने रोटेशन मूल्ये व्युत्पन्न करते:

अल्गोरिदमचे उदाहरण

उदाहरण 2. पीके कंट्रोलरसह एक सेन्सर.

हे उदाहरण त्याच डिझाइनवर संकलित केले आहे.

तुमच्या लक्षात आले असेल की मागील उदाहरणात, रोबोटने खूप डोलवले, ज्यामुळे त्याला पुरेसा वेग येऊ दिला नाही. आता आपण ही परिस्थिती थोडी सुधारण्याचा प्रयत्न करू.

आमच्या आनुपातिक कंट्रोलरमध्ये, आम्ही एक साधा क्यूब कंट्रोलर देखील जोडतो, जो कंट्रोलर फंक्शनमध्ये एक ट्विस्ट जोडेल. हे प्रक्षेपणाच्या इच्छित सीमेजवळ रोबोटचे स्विंग कमी करेल, तसेच त्याच्यापासून खूप अंतरावर मजबूत धक्का देईल.

कामाचा मजकूर प्रतिमा आणि सूत्रांशिवाय ठेवला आहे.
पूर्ण आवृत्तीपीडीएफ फॉरमॅटमध्ये "कामाच्या फाइल्स" टॅबमध्ये कार्य उपलब्ध आहे

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

तयारीचा टप्पा

प्रोग्राम तयार करणे आणि कॅलिब्रेट करणे

निष्कर्ष

साहित्य

1. परिचय.

रोबोटिक्स हे वैज्ञानिक आणि तांत्रिक प्रगतीचे सर्वात महत्वाचे क्षेत्र आहे, ज्यामध्ये यांत्रिकी आणि नवीन तंत्रज्ञानाच्या समस्या कृत्रिम बुद्धिमत्तेच्या समस्यांशी संपर्कात येतात.

प्रति गेल्या वर्षेरोबोटिक्स मध्ये प्रगती आणि स्वयंचलित प्रणालीवैयक्तिक बदलले आणि व्यवसाय क्षेत्रआपले जीवन. वाहतूक, पृथ्वी आणि अवकाश संशोधन, शस्त्रक्रिया, लष्करी उद्योग, प्रयोगशाळा संशोधन, सुरक्षा, औद्योगिक आणि ग्राहकोपयोगी वस्तूंचे मोठ्या प्रमाणावर उत्पादन यामध्ये रोबोट्सचा मोठ्या प्रमाणावर वापर केला जातो. सेन्सर्सकडून मिळालेल्या डेटावर आधारित निर्णय घेणारी अनेक उपकरणे देखील रोबोट मानली जाऊ शकतात - उदाहरणार्थ, लिफ्ट, ज्याशिवाय आपले जीवन आधीच अकल्पनीय आहे.

माइंडस्टॉर्म्स EV3 कन्स्ट्रक्टर आम्हाला रोबोट्सच्या आकर्षक जगात प्रवेश करण्यासाठी, माहिती तंत्रज्ञानाच्या जटिल वातावरणात स्वतःला मग्न करण्यासाठी आमंत्रित करतो.

उद्दिष्ट: सरळ रेषेत फिरण्यासाठी रोबोट कसा प्रोग्राम करायचा हे शिकण्यासाठी.

    Mindstorms EV3 कन्स्ट्रक्टर आणि त्याच्या प्रोग्रामिंग वातावरणाशी परिचित व्हा.

    30 सेमी, 1 मीटर 30 सेमी आणि 2 मीटर 17 सेमी साठी सरळ रेषेत रोबोटच्या हालचालीसाठी प्रोग्राम लिहा.

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

डिझायनर भाग - 601 तुकडे, सर्वो मोटर - 3 तुकडे, कलर सेन्सर, मोशन सेन्सर, इन्फ्रारेड सेन्सर आणि टच सेन्सर. EV3 मायक्रोप्रोसेसर ब्लॉक हा LEGO Mindstorms चा मेंदू आहे.

रोबोटच्या हालचालीसाठी एक मोठा सर्व्होमोटर जबाबदार आहे, जो EV3 ब्रिकला जोडतो आणि रोबोटला हालचाल करतो: पुढे आणि मागे जा, मागे वळा आणि दिलेल्या मार्गावर चालवा. या सर्व्होमोटरमध्ये अंगभूत रोटेशन सेन्सर आहे, जो आपल्याला रोबोटची हालचाल आणि त्याचा वेग अगदी अचूकपणे नियंत्रित करण्यास अनुमती देतो.

तुम्ही रोबोटला कृती करायला लावू शकता संगणक कार्यक्रम EV3. प्रोग्राममध्ये विविध कंट्रोल ब्लॉक्स असतात. आम्ही आंदोलन ब्लॉक घेऊन काम करू.

मोशन ब्लॉक रोबोटच्या मोटर्स नियंत्रित करते, ते चालू करते, ते बंद करते, ते कार्यांनुसार कार्य करते. तुम्ही चळवळीला ठराविक क्रांती किंवा अंशांपर्यंत प्रोग्राम करू शकता.

    तयारीचा टप्पा.

    तांत्रिक क्षेत्राची निर्मिती.

आम्ही रोबोटचे कार्य क्षेत्र चिन्हांकित करू, इलेक्ट्रिकल टेप आणि एक शासक वापरून आम्ही 30 सेमी लांबीच्या तीन रेषा तयार करू - एक हिरवी रेषा, 1 मीटर 15 सेमी - लाल आणि 2 मीटर 17 सेमी - काळ्या रेषा.

    आवश्यक गणना:

रोबोट चाक व्यास - 5 सेमी 7 मिमी = 5.7 सेमी.

रोबोट चाकाची एक क्रांती 5.7 सेमी व्यासाच्या वर्तुळाच्या परिघाएवढी असते. हा घेर सूत्रानुसार आढळतो

जेथे r चाकाची त्रिज्या आहे, d हा व्यास आहे, π = 3.14

l = 5,7 * 3,14 = 17,898 = 17,9.

त्या. चाकाच्या एका क्रांतीसाठी, रोबोट 17.9 सेमी प्रवास करतो.

उत्तीर्ण होण्यासाठी आवश्यक क्रांतीची संख्या मोजा:

N=30: 17.9=1.68.

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

N=130: 17.9=7.26.

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

N = 217: 17.9 = 12.12.

    कार्यक्रमाची निर्मिती आणि कॅलिब्रेशन.

आम्ही खालील अल्गोरिदमनुसार प्रोग्राम तयार करू:

अल्गोरिदम:

    Mindstorms EV3 सॉफ्टवेअरमध्ये मोशन ब्लॉक निवडा.

    दिलेल्या दिशेने दोन्ही मोटर्स चालू करा.

    मोटर्सपैकी एकाचे रोटेशन सेन्सर रीडिंग निर्दिष्ट मूल्यात बदलण्याची प्रतीक्षा करा.

    मोटर्स बंद करा.

तयार झालेला प्रोग्राम रोबोट कंट्रोल युनिटमध्ये लोड केला जातो. आम्ही रोबोटला फील्डवर ठेवतो आणि स्टार्ट बटण दाबतो. EV3 फील्ड ओलांडते आणि दिलेल्या ओळीच्या शेवटी थांबते. परंतु अचूक पूर्ण करण्यासाठी, आपल्याला कॅलिब्रेट करावे लागेल, कारण बाह्य घटक हालचालींवर प्रभाव पाडतात.

    फील्ड विद्यार्थी डेस्कवर स्थापित केले आहे, त्यामुळे पृष्ठभागाचे थोडेसे विक्षेपण शक्य आहे.

    शेताची पृष्ठभाग गुळगुळीत आहे, त्यामुळे रोबोटच्या चाकांना शेतात चिकटून राहण्याची शक्यता नाकारता येत नाही.

    क्रांत्यांच्या संख्येची गणना करताना, आम्हांला संख्या पूर्ण कराव्या लागतील, आणि म्हणून, क्रांतीचा शंभरावा भाग बदलून, आम्ही आवश्यक परिणाम प्राप्त केला.

5. निष्कर्ष.

एका सरळ रेषेत फिरण्यासाठी रोबोटला प्रोग्राम करण्याची क्षमता अधिक जटिल प्रोग्राम तयार करण्यासाठी उपयुक्त ठरेल. एक नियम म्हणून, मध्ये संदर्भ अटीरोबोटिक्समधील स्पर्धा, हालचालींचे सर्व परिमाण सूचित केले जातात. ते आवश्यक आहेत जेणेकरून प्रोग्राम तार्किक परिस्थिती, लूप आणि इतर जटिल नियंत्रण ब्लॉक्ससह ओव्हरलोड होणार नाही.

Lego Mindstorms EV3 रोबोटच्या ओळखीच्या पुढच्या टप्प्यावर, तुम्ही विशिष्ट कोनात वळणे, वर्तुळातील हालचाल, सर्पिल कसे प्रोग्राम करायचे ते शिकाल.

डिझायनरबरोबर काम करणे खूप मनोरंजक आहे. त्याच्या क्षमतांबद्दल अधिक जाणून घेणे, आपण कोणत्याही तांत्रिक समस्यांचे निराकरण करू शकता. आणि भविष्यात, कदाचित, त्यांचे स्वतःचे मनोरंजक मॉडेल तयार करण्यासाठी लेगो रोबोटमाइंडस्टॉर्म्स EV3.

साहित्य.

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

    फिलिपोव्ह एस.ए. "मुलांसाठी आणि पालकांसाठी रोबोटिक्स" - "विज्ञान" 2010

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

    http://lego. rkc-74.ru/

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

    http://www. लेगो com/education/

मोबाइल लेगो रोबोटसाठी अल्गोरिदम नियंत्रित करा. दोन लाइट सेन्सरसह लाइन ट्रॅकिंग

अतिरिक्त शिक्षणाचे शिक्षक

काझाकोवा ल्युबोव्ह अलेक्झांड्रोव्हना


रेषेची हालचाल

  • दोन प्रकाश सेन्सर
  • आनुपातिक नियंत्रक (पी नियंत्रक)

आनुपातिक नियंत्रकाशिवाय काळ्या रेषेसह हलविण्यासाठी अल्गोरिदम

  • दोन्ही मोटर्स समान शक्तीने फिरतात
  • उजवा प्रकाश सेन्सर काळ्या रेषेवर आदळल्यास, डाव्या मोटरची शक्ती (उदाहरणार्थ B) कमी होते किंवा थांबते
  • जर डावा प्रकाश सेन्सर काळ्या रेषेवर आदळला, तर इतर मोटर्सची शक्ती (उदाहरणार्थ, सी) कमी होते (रेषेवर परत येते), कमी होते किंवा थांबते
  • जर दोन्ही सेन्सर पांढऱ्या किंवा काळ्या रंगावर असतील तर एक रेक्टलाइनर हालचाल आहे

एका मोटरची शक्ती बदलून चळवळ आयोजित केली जाते


पी-कंट्रोलरशिवाय काळ्या रेषेच्या बाजूने फिरण्यासाठी प्रोग्रामचे उदाहरण

रोटेशनचा कोन बदलून चळवळ आयोजित केली जाते


  • आनुपातिक नियंत्रक (पी-कंट्रोलर) आपल्याला रोबोटचे वर्तन समायोजित करण्याची परवानगी देतो, त्याचे वर्तन इच्छितपेक्षा किती वेगळे आहे यावर अवलंबून.
  • रोबोट जितका जास्त लक्ष्यापासून विचलित होईल तितके त्याच्याकडे परत येण्यासाठी अधिक शक्ती आवश्यक आहे.

  • पी-कंट्रोलरचा वापर रोबोटला एका विशिष्ट स्थितीत ठेवण्यासाठी केला जातो:
  • मॅनिपुलेटरची स्थिती धरा एका ओळीच्या बाजूने हलवा (प्रकाश सेन्सर) भिंतीच्या बाजूने हलवा (अंतर सेन्सर)
  • मॅनिपुलेटरची स्थिती धारण करणे
  • लाइन मोशन (प्रकाश सेन्सर)
  • भिंतीच्या बाजूने फिरणे (अंतर सेन्सर)

एका सेन्सरसह लाइन ट्रॅकिंग

  • "पांढरा-काळा" सीमेवर जाणे हे ध्येय आहे
  • एखादी व्यक्ती पांढऱ्या आणि काळ्याची सीमा ओळखू शकते. रोबोट करू शकत नाही.
  • रोबोटचे लक्ष्य राखाडी रंगावर आहे

क्रॉसिंग

दोन लाइट सेन्सर वापरताना, अधिक कठीण मार्गांवर रहदारी आयोजित करणे शक्य आहे



छेदनबिंदूंसह महामार्गावर वाहन चालविण्यासाठी अल्गोरिदम

  • दोन्ही सेन्सर पांढऱ्यावर - रोबोट एका सरळ रेषेत चालवतो (दोन्ही मोटर समान शक्तीने फिरतात)
  • उजवा प्रकाश संवेदक काळ्या रेषेवर आदळला आणि डावीकडे पांढऱ्या रेषेवर आदळला तर तो उजवीकडे वळतो
  • जर डावा प्रकाश संवेदक काळ्या रेषेवर आदळला आणि उजवा श्वेत रेषेवर आदळला तर तो डावीकडे वळतो
  • जर दोन्ही सेन्सर काळ्या रंगावर असतील, तर रेक्टलाइनर हालचाल होते. तुम्ही छेदनबिंदू मोजू शकता किंवा काही प्रकारची क्रिया करू शकता


पी-रेग्युलेटरच्या ऑपरेशनचे सिद्धांत

सेन्सर्सची स्थिती

O=O1-O2


आनुपातिक नियंत्रकासह काळ्या रेषेसह हलविण्यासाठी अल्गोरिदम

SW \u003d K * (C-T)

  • सी - लक्ष्य मूल्ये (पांढऱ्या आणि काळ्यावरील प्रकाश सेन्सरमधून वाचन घ्या, सरासरीची गणना करा)
  • टी - वर्तमान मूल्य - सेन्सरकडून प्राप्त झाले
  • K हा संवेदनशीलता गुणांक आहे. जितकी जास्त तितकी संवेदनशीलता जास्त.


या धड्यात, आम्ही कलर सेन्सरचा वापर शोधत राहू. रोबोटिक्स अभ्यासक्रमाच्या पुढील अभ्यासासाठी खाली सादर केलेली सामग्री अत्यंत महत्त्वाची आहे. अनेक व्यावहारिक समस्या सोडवण्यासाठी सर्व Lego mindstorms EV3 सेन्सर कसे वापरायचे हे शिकल्यानंतर, आम्ही या धड्यात मिळालेल्या ज्ञानावर आधारित बनवू.

६.१. कलर सेन्सर - परावर्तित प्रकाश तीव्रता मोड

तर, आम्ही कलर सेन्सरच्या ऑपरेशनच्या पुढील मोडचा अभ्यास करण्यास सुरुवात करत आहोत, ज्याला म्हणतात "प्रतिबिंबित प्रकाशाची चमक". या मोडमध्ये, कलर सेन्सर जवळच्या वस्तू किंवा पृष्ठभागावर लाल प्रकाशाचा किरण निर्देशित करतो आणि परावर्तित प्रकाशाचे प्रमाण मोजतो. गडद वस्तू प्रकाश शोषून घेतील, त्यामुळे सेन्सर हलक्या पृष्ठभागापेक्षा कमी मूल्य वाचेल. वरून सेन्सर मूल्य श्रेणी मोजली जाते 0 (खूप गडद) ते 100 (खूप तेजस्वी). कलर सेन्सरच्या ऑपरेशनचा हा मोड रोबोटिक्समधील अनेक कामांमध्ये वापरला जातो, उदाहरणार्थ, पांढऱ्या कोटिंगवर काढलेल्या काळ्या रेषेसह दिलेल्या मार्गावर रोबोटची हालचाल आयोजित करण्यासाठी. हा मोड वापरताना, सेन्सर अशा प्रकारे ठेवण्याची शिफारस केली जाते की त्यापासून ते पृष्ठभागापर्यंतचे अंतर अंदाजे आहे. 1 सेमी (चित्र 1).

तांदूळ. एक

चला व्यावहारिक व्यायामाकडे वळूया: रंग सेन्सर आमच्या रोबोटवर आधीपासूनच स्थापित केलेला आहे आणि कोटिंगच्या पृष्ठभागावर खाली निर्देशित केला आहे ज्यावर आपला रोबोट फिरेल. सेन्सर आणि मजल्यामधील अंतर शिफारसीनुसार आहे. कलर सेन्सर आधीच पोर्टशी जोडलेला आहे "2" EV3 वीट. चला प्रोग्रामिंग वातावरण लोड करू, रोबोटला पर्यावरणाशी जोडू आणि मोजमाप घेण्यासाठी धडा # 5 च्या विभाग 5.4 मधील कार्ये पूर्ण करण्यासाठी आम्ही बनवलेले कलर स्ट्राइप फील्ड वापरू. रोबोट स्थापित करा जेणेकरून रंग सेन्सर पांढऱ्या पृष्ठभागाच्या वर स्थित असेल. "हार्डवेअर पृष्ठ"प्रोग्रामिंग वातावरण मोडवर स्विच करते "पोर्ट्स पहा" (चित्र 2 स्थान 1). या मोडमध्ये, आम्ही केलेल्या सर्व कनेक्शनचे निरीक्षण करू शकतो. वर तांदूळ. 2कनेक्ट केलेले पोर्ट प्रदर्शित केले आहेत "ब"आणि "सी"दोन मोठ्या मोटर्स आणि बंदराकडे "2" - रंग सेन्सर.

तांदूळ. 2

सेन्सर रीडिंग प्रदर्शित करण्यासाठी पर्याय निवडण्यासाठी, सेन्सर प्रतिमेवर क्लिक करा आणि इच्छित मोड निवडा (चित्र 3)

तांदूळ. 3

वर तांदूळ. 2 स्थान 2पांढर्‍या पृष्ठभागाच्या वर असलेल्या कलर सेन्सरचे मूल्य किती आहे हे आपण पाहू शकतो 84 . तुमच्या बाबतीत, तुम्हाला वेगळे मूल्य मिळू शकते, कारण ते पृष्ठभागाच्या सामग्रीवर आणि खोलीच्या आतील प्रकाशावर अवलंबून असते: प्रकाशाचा भाग, पृष्ठभागावरून परावर्तित होतो, सेन्सरला आदळतो आणि त्याचे वाचन प्रभावित करते. रोबोट अशा प्रकारे स्थापित केल्यावर की रंग सेन्सर काळ्या पट्टीच्या वर स्थित आहे, आम्ही त्याचे वाचन निश्चित करतो (चित्र 4). उर्वरित कलर बँडवरील परावर्तित प्रकाश मूल्ये स्वतः मोजण्याचा प्रयत्न करा. तुम्हाला कोणती मूल्ये मिळाली? या धड्याच्या टिप्पण्यांमध्ये तुमचे उत्तर लिहा.

तांदूळ. चार

आता व्यावहारिक समस्या सोडवू.

कार्य क्रमांक 11:रोबोटच्या हालचालीसाठी एक प्रोग्राम लिहिणे आवश्यक आहे, जे काळ्या रेषेपर्यंत पोहोचल्यावर थांबते.

उपाय:

प्रयोगाने आम्हाला दर्शविले की काळी रेषा ओलांडताना, मोडमधील रंग सेन्सरचे मूल्य "प्रतिबिंबित प्रकाशाची चमक"समान 6 . तर, पूर्ण करण्यासाठी कार्ये #11कलर सेन्सरचे इच्छित मूल्य लहान होईपर्यंत आमचा रोबोट एका सरळ रेषेत फिरला पाहिजे 7 . आम्हाला आधीच परिचित असलेल्या प्रोग्राम ब्लॉकचा वापर करूया "अपेक्षा"ऑरेंज पॅलेट. समस्येच्या स्थितीनुसार आवश्यक असलेल्या प्रोग्राम ब्लॉकच्या ऑपरेशनचा मोड निवडू या "प्रतीक्षा" (चित्र 5).

तांदूळ. ५

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

तांदूळ. 6

तितक्या लवकर रंग सेन्सर मूल्य पेक्षा कमी सेट केले आहे 7 , जेव्हा कलर सेन्सर काळ्या रेषेच्या वर असेल तेव्हा काय होते, आम्हाला रोबोट थांबवून मोटर्स बंद करणे आवश्यक आहे. समस्या सुटली (चित्र 7).

तांदूळ. ७

आमचा अभ्यास सुरू ठेवण्यासाठी, आम्हाला एक नवीन फील्ड बनवावे लागेल, जे सुमारे 1 मीटर व्यासाचे काळे वर्तुळ आहे, पांढर्‍या फील्डवर लागू केले जाईल. वर्तुळ रेषेची जाडी 2 - 2.5 सेमी आहे. फील्डच्या पायासाठी, तुम्ही A0 (841x1189 मिमी) मोजण्यासाठी कागदाची एक शीट घेऊ शकता, A1 (594x841 मिमी) मोजणाऱ्या कागदाच्या दोन शीट एकत्र चिकटवू शकता. या फील्डवर, वर्तुळाची रेषा चिन्हांकित करा आणि त्यावर काळ्या शाईने रंगवा. तुम्ही Adobe Illustrator फॉरमॅटमध्ये बनवलेले फील्डचे लेआउट डाउनलोड करू शकता आणि नंतर प्रिंटिंग हाऊसमध्ये बॅनर फॅब्रिकवर प्रिंटिंग ऑर्डर करू शकता. लेआउट आकार 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).

तांदूळ. आठ

मोडमध्ये कलर सेन्सरच्या ऑपरेशनसाठी "प्रतिबिंबित प्रकाशाची चमक"जेव्हा आम्ही काळ्या रेषेवर जाण्यासाठी अल्गोरिदम विचारात घेतो तेव्हा आम्ही अनेक वेळा परत येऊ. दरम्यान, कलर सेन्सरच्या ऑपरेशनच्या तिसऱ्या मोडचे विश्लेषण करूया.

६.२. कलर सेन्सर - सभोवतालचा प्रकाश तीव्रता मोड

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

धडा #4 मध्ये टच सेन्सर जसा जोडला होता तसाच कलर सेन्सर आपल्या रोबोटला जोडूया. (चित्र 9). कलर सेन्सरला केबलने पोर्टशी कनेक्ट करा "2" EV3 वीट. चला व्यावहारिक समस्या सोडवण्याकडे वळूया.

तांदूळ. ९

कार्य #13:बाह्य प्रकाशाच्या तीव्रतेनुसार आपल्या रोबोटचा वेग बदलणारा प्रोग्राम लिहिणे आवश्यक आहे.

या समस्येचे निराकरण करण्यासाठी, आपल्याला सेन्सरचे वर्तमान मूल्य कसे मिळवायचे ते शिकले पाहिजे. आणि प्रोग्राम ब्लॉक्सचे पिवळे पॅलेट, ज्याला म्हणतात "सेन्सर्स".

६.३. पिवळा पॅलेट - "सेन्सर्स"

Lego mindstorms EV3 प्रोग्रामिंग वातावरणाच्या पिवळ्या पॅलेटमध्ये प्रोग्रामिंग ब्लॉक्स आहेत जे तुम्हाला प्रोग्राममध्ये पुढील प्रक्रियेसाठी वर्तमान सेन्सर रीडिंग प्राप्त करण्यास अनुमती देतात. विपरीत, उदाहरणार्थ, प्रोग्राम ब्लॉक "अपेक्षा"ऑरेंज पॅलेट, यलो पॅलेट प्रोग्रॅम ब्लॉक्स ताबडतोब खालील प्रोग्राम ब्लॉक्सवर नियंत्रण हस्तांतरित करतात.

यलो पॅलेटमधील प्रोग्रामिंग ब्लॉक्सची संख्या प्रोग्रामिंग वातावरणाच्या घरगुती आणि शैक्षणिक आवृत्त्यांमध्ये भिन्न आहे. प्रोग्रामिंग वातावरणाच्या होम आवृत्तीमध्ये, सेन्सरसाठी कोणतेही प्रोग्रामिंग ब्लॉक नाहीत जे कन्स्ट्रक्टरच्या होम आवृत्तीमध्ये समाविष्ट नाहीत. परंतु, आवश्यक असल्यास, ते स्वतंत्रपणे कनेक्ट केले जाऊ शकतात.

प्रोग्रामिंग वातावरणाच्या शैक्षणिक आवृत्तीमध्ये सर्व सेन्सर्ससाठी प्रोग्रामिंग ब्लॉक्स आहेत जे Lego mindstorms EV3 कन्स्ट्रक्टरसह वापरले जाऊ शकतात.

चला निर्णयाकडे परत जाऊया. कार्ये #13आणि तुम्ही कलर सेन्सर रीडिंग कसे प्राप्त आणि प्रक्रिया करू शकता ते पहा. आम्हाला आधीच माहित आहे की: मोडमधील रंग सेन्सरच्या मूल्यांची श्रेणी "सभोवतालची प्रकाश चमक"च्या मर्यादेत आहे 0 आधी 100 . मोटर्सची शक्ती नियंत्रित करणारे पॅरामीटर समान श्रेणी आहे. कलर सेन्सर वाचून प्रोग्राम ब्लॉकमधील मोटर्सची शक्ती समायोजित करण्याचा प्रयत्न करूया "स्टीयरिंग".

उपाय:


तांदूळ. दहा

चला परिणामी प्रोग्राम रोबोटमध्ये लोड करू आणि अंमलबजावणीसाठी चालवू. रोबोट हळू चालला का? चला LED फ्लॅशलाइट चालू करू आणि वेगवेगळ्या अंतरावर रंग सेन्सरवर आणण्याचा प्रयत्न करूया. रोबोटचे काय चालले आहे? चला आपल्या हाताच्या तळव्याने कलर सेन्सर बंद करूया - या प्रकरणात काय झाले? धड्याच्या टिप्पण्यांमध्ये या प्रश्नांची उत्तरे लिहा.

कार्य - बोनस

रोबोटमध्ये लोड करा आणि खालील आकृतीमध्ये दर्शविलेले कार्य चालवा. एलईडी फ्लॅशलाइटसह प्रयोगांची पुनरावृत्ती करा. धड्यावर टिप्पण्यांमध्ये आपले इंप्रेशन सामायिक करा.

15.01.2012, 18:51

आत्तापर्यंत, एका रेषेवर फिरताना वापरल्या जाणार्‍या अल्गोरिदमबद्दलच्या लेखांमध्ये, प्रकाश सेन्सर, जसे की, त्याच्या डाव्या किंवा उजव्या सीमेचे अनुसरण करते तेव्हा अशा पद्धतीचा विचार केला जात असे: रोबोट फील्डच्या पांढर्‍या भागाकडे जाताच, कंट्रोलरने रोबोटला सीमेवर परत केले, सेन्सर काळ्या रेषांमध्ये खोलवर जाऊ लागला - नियामकाने ते परत सरळ केले.
वरील चित्र रिले कंट्रोलरसाठी असूनही, आनुपातिक (पी-रेग्युलेटर) च्या हालचालीचे सामान्य तत्त्व समान असेल. आधीच नमूद केल्याप्रमाणे, अशा हालचालीची सरासरी गती फारशी जास्त नसते आणि अल्गोरिदमला किंचित गुंतागुंत करून ते वाढवण्याचे अनेक प्रयत्न केले गेले: एका प्रकरणात, "सॉफ्ट" ब्रेकिंगचा वापर केला गेला, तर दुसरीकडे, वळणांव्यतिरिक्त, पुढे चळवळ सुरू केली.
रोबोटला काही भागात पुढे जाण्याची परवानगी देण्यासाठी, प्रकाश सेन्सरद्वारे उत्पादित केलेल्या मूल्यांच्या श्रेणीमध्ये एक अरुंद विभाग वाटप करण्यात आला होता, ज्याला सशर्तपणे "सेन्सर रेषेच्या सीमेवर आहे" असे म्हटले जाऊ शकते.
या दृष्टिकोनात एक लहान कमतरता आहे - जर रोबोट रेषेच्या डाव्या सीमेचे "अनुसरण" करत असेल, तर उजवीकडे वळल्यावर तो प्रक्षेपणाची वक्रता त्वरित निर्धारित करू शकत नाही आणि परिणामी, रेषा शोधण्यात अधिक वेळ घालवतो. आणि वळणे. शिवाय, हे सांगणे सुरक्षित आहे की वळण जितके जास्त असेल तितका या शोधात जास्त वेळ लागेल.
खालील आकृती दर्शविते की जर सेन्सर सीमेच्या डाव्या बाजूला नसून उजव्या बाजूला स्थित असेल, तर त्याने आधीच प्रक्षेपणाची वक्रता शोधली असती आणि वळण युक्त्या करणे सुरू केले असते.

म्हणून, रोबोटला एकाच वेळी दोन सेन्सर्ससह सुसज्ज करणे चांगली कल्पना आहे, जे रेषेच्या विरुद्ध बाजूस स्थित आहेत आणि त्यानुसार, रोबोटला हालचालीच्या दिशेने बदल करण्यास अधिक जलद प्रतिसाद देण्यास मदत करेल.
आता अशा डिझाइन बदलाचा कार्यक्रमावर कसा परिणाम होईल हे निर्धारित करणे आवश्यक आहे. साधेपणासाठी, आम्ही पुन्हा सर्वात सोप्या रिले कंट्रोलरसह प्रारंभ केला पाहिजे आणि म्हणूनच, सर्वप्रथम, आम्हाला रेषेच्या सापेक्ष सेन्सर्सच्या संभाव्य स्थानांमध्ये स्वारस्य आहे:

किंबहुना, आणखी एक स्वीकारार्ह अवस्था ओळखली जाऊ शकते - कठीण मार्गांवर ते छेदनबिंदू किंवा मार्गावर काही प्रकारचे जाड असेल.
सेन्सरच्या इतर पोझिशन्सचा विचार केला जाणार नाही, कारण ते एकतर वर दर्शविलेल्या स्थितींवरून घेतलेले आहेत किंवा रोबोटने जेव्हा रेषा सोडली तेव्हा ही पोझिशन्स आहेत आणि यापुढे सेन्सर्सवरील माहिती वापरून त्यावर परत येऊ शकणार नाहीत. परिणामी, वरील सर्व तरतुदी खालील वर्गीकरणात कमी केल्या जाऊ शकतात:
  • डावा सेन्सर, तसेच उजवा सेन्सर, हलक्या पृष्ठभागाच्या वर आहे
  • डावा सेन्सर प्रकाश पृष्ठभागाच्या वर, उजवा सेन्सर गडद वर
  • डावा सेन्सर गडद पृष्ठभागावर, उजवा सेन्सर प्रकाशाच्या वर
  • दोन्ही सेन्सर गडद पृष्ठभागाच्या वर आहेत
जर एखाद्या विशिष्ट वेळी रोबोटवरील प्रोग्रामने यापैकी एक स्थान शोधले तर त्याला त्यानुसार प्रतिक्रिया द्यावी लागेल:
    जर दोन्ही सेन्सर पांढऱ्या पृष्ठभागाच्या वर असतील, तर ही एक सामान्य परिस्थिती आहे ज्यामध्ये सेन्सर्सच्या दरम्यान रेषा आहे, त्यामुळे रोबोटने सरळ जाणे आवश्यक आहे. जर डावा सेन्सर अद्याप प्रकाशाच्या पृष्ठभागाच्या वर असेल आणि उजवा सेन्सर आधीच वर असेल तर गडद, नंतर रोबोटने उजवीकडे वळवले, म्हणजे त्याला उजवीकडे वळणे आवश्यक आहे जेणेकरून रेषा पुन्हा सेन्सर्सच्या दरम्यान असेल. जर डावा सेन्सर गडद पृष्ठभागाच्या वर असेल आणि उजवीकडे असेल तर हलका, नंतर संरेखित करण्यासाठी रोबोटला डावीकडे वळणे आवश्यक आहे. जर दोन्ही सेन्सर गडद पृष्ठभागाच्या वर असतील, तर सर्वसाधारण स्थितीत, रोबोट पुन्हा सरळ जात राहतो.

प्रोग्रॅममध्ये मोटर्सची वर्तणूक नेमकी कशी बदलली पाहिजे हे वरील आकृती लगेच दाखवते. आता, प्रोग्राम लिहिणे कठीण नसावे. तुम्ही प्रथम कोणता सेन्सर पोल केला जाईल हे निवडून सुरुवात करावी. त्याच्याकडे नाही खूप महत्त्व आहे, म्हणून ते राहू द्या. ते प्रकाश किंवा गडद पृष्ठभागावर आहे हे निर्धारित करणे आवश्यक आहे:
ही कृती आपल्याला अद्याप रोबोटने कोणत्या दिशेने जावे हे सांगण्याची परवानगी देत ​​​​नाही. परंतु ते वर सूचीबद्ध केलेल्या राज्यांना दोन गटांमध्ये विभाजित करेल: (I, II) वरच्या शाखेसाठी आणि (III, IV) खालच्या शाखेसाठी. प्रत्येक गटामध्ये आता दोन राज्ये आहेत, त्यामुळे तुम्हाला त्यापैकी एक निवडण्याची आवश्यकता आहे. पहिल्या दोन अवस्था I आणि II वर बारकाईने पाहिल्यास, ते उजव्या सेन्सरच्या स्थितीत भिन्न आहेत - एका बाबतीत ते हलक्या पृष्ठभागाच्या वर आहे, तर दुसर्‍यामध्ये - गडद स्थितीच्या वर आहे. कोणती कारवाई करायची याची निवड हेच ठरवेल:
आता तुम्ही वरील सारण्यांनुसार मोटर्सचे वर्तन परिभाषित करणारे ब्लॉक्स घालू शकता: नेस्टेड कंडिशनची वरची शाखा "दोन्ही सेन्सर ऑन लाईट", वरील - "प्रकाशावर डावीकडे, अंधारावर उजवीकडे" संयोजन परिभाषित करते:
मुख्य स्थितीची खालची शाखा III आणि IV राज्यांच्या दुसर्या गटासाठी जबाबदार आहे. उजव्या सेन्सरच्या प्रकाशाच्या पातळीमध्ये ही दोन अवस्था एकमेकांपासून भिन्न आहेत. तर ते त्या प्रत्येकाची निवड निश्चित करेल:
परिणामी दोन शाखा हालचाली ब्लॉक्सने भरल्या आहेत. वरची शाखा "डावीकडे अंधारावर, उजवीकडे उजवीकडे" स्थितीसाठी जबाबदार आहे आणि खालची शाखा "अंधारावर दोन्ही सेन्सर" साठी जबाबदार आहे.
याची नोंद घ्यावी हे डिझाइनहे फक्त फील्डमधील विशिष्ट ठिकाणी सेन्सर्सच्या रीडिंगवर अवलंबून मोटर्स कसे चालू करायचे हे ठरवते, नैसर्गिकरित्या, काही क्षणानंतर, प्रोग्रामने त्यानुसार मोटर्सचे वर्तन सुधारण्यासाठी वाचन बदलले आहे की नाही हे तपासले पाहिजे, आणि एका क्षणानंतर पुन्हा, पुन्हा, इ. म्हणून, ते एका लूपमध्ये ठेवले पाहिजे जे ही वारंवार तपासणी प्रदान करेल:

असा अगदी सोपा प्रोग्राम योग्यरित्या कॉन्फिगर केल्यास, रोबोटला न सोडता त्याच्या हालचालीचा वेगवान वेग प्रदान करेल. सर्वोच्च वेगराज्य I आणि IV मध्ये वाहन चालवताना, तसेच राज्य II आणि III मध्ये ब्रेकिंगची इष्टतम पद्धत सेट करा - ट्रॅकवर वळण जितके जास्त असेल तितकेच ब्रेकिंग "कठीण" असावे - वेग अधिक वेगाने कमी झाला पाहिजे आणि उलट - गुळगुळीत वळणांसह, पॉवर बंद करून किंवा अगदी थोडासा कमी होऊनही ब्रेकिंग लागू करणे शक्य आहे.

रोबोटवर सेन्सर्स बसवण्याबद्दल काही स्वतंत्र शब्द देखील बोलले पाहिजेत. अर्थात, चाकांच्या सापेक्ष या दोन सेन्सरच्या स्थानावर समान शिफारशी लागू होतील, जसे की एका सेन्सरसाठी, दोन सेन्सर्सला जोडणाऱ्या सेगमेंटचा फक्त मध्यभाग त्रिकोणाचा शिरोबिंदू म्हणून घेतला जातो. सेन्सरमधील अंतर देखील ट्रॅकच्या वैशिष्ट्यांवरून निवडले पाहिजे: सेन्सर एकमेकांच्या जितके जवळ असतील तितक्या वेळा रोबोट पातळी कमी होईल (तुलनेने हळू वळणे करा), परंतु जर सेन्सर्स पुरेसे रुंद असतील तर , तर रुळावरून उडण्याचा धोका असतो, त्यामुळे तुम्हाला सरळ वळण आणि हळू हालचाल करावी लागेल.