रोबोट-विशिष्ट ब्लॉक#
परिचय#
हीरो बॉट, फ्लॉप में एक इंटेक मोटर, एक आर्म मोटर और एक आईक्यू एआई विजन सेंसर शामिल है।
सभी मानक VEXcode VR ब्लॉक IQ 26-27 लेवल अप प्लेग्राउंड में उपयोग के लिए उपलब्ध हैं।
नीचे रोबोट के लिए उपलब्ध सभी ब्लॉकों की सूची दी गई है:
गति – रोबोट के मोटरों को चलाएं और उनकी गति का पता लगाएं।
कार्यवाही
स्पिन मोटर – मोटर को उसकी किसी एक दिशा में हमेशा के लिए घुमाता है।
स्पिन मोटर के लिए – मोटर को डिग्री या घुमावों में एक विशिष्ट दूरी के लिए घुमाता है।
मोटर को स्थिति में घुमाएँ – मोटर को एक विशिष्ट स्थिति में घुमाता है।
मोटर रोकें – मोटर को घूमने से रोकता है।
सेटिंग्स
मोटर वेग सेट करें – मोटर को बताता है कि कितनी तेज़ी से घूमना है।
सेट मोटर टाइमआउट – यह सेट करता है कि मोटर किसी गति को पूरा करने के लिए कितना समय प्रयास करेगी।
पद
मोटर स्थिति – मोटर की वर्तमान स्थिति की रिपोर्ट करता है।
मोटर की स्थिति सेट करें – मोटर की वर्तमान स्थिति को एक नए मान में बदलता है।
मूल्य
मोटर का काम पूरा हो गया है – रिपोर्ट करता है कि मोटर का चलना समाप्त हो गया है।
मोटर घूम रही है – रिपोर्ट करता है कि मोटर घूम रही है या नहीं।
मोटर वेग – रिपोर्ट करता है कि मोटर कितनी तेज़ी से घूम रही है, प्रतिशत के रूप में -100% से 100% तक।
एआई विज़न - आईक्यू एआई विज़न सेंसर का उपयोग करके वस्तुओं को कैप्चर और विश्लेषण करें।
कार्यवाही
वस्तु डेटा प्राप्त करें - एक विशिष्ट हस्ताक्षर के लिए डेटा कैप्चर करता है, जैसे कि पता लगाया गया एआई वर्गीकरण।
सेटिंग्स
सेट ऑब्जेक्ट आइटम - सूची से एक विशिष्ट ऑब्जेक्ट का चयन करता है।
मूल्य
ऑब्जेक्ट मौजूद है - यह बताता है कि क्या कोई वर्गीकरण पाया गया था।
ऑब्जेक्ट है - यह बताता है कि कोई विशिष्ट वर्गीकरण पाया गया है या नहीं।
ऑब्जेक्ट अप्रैलटैग है - यह बताता है कि क्या पता लगाया गया ऑब्जेक्ट एक विशिष्ट आईडी से मेल खाने वाला अप्रैलटैग है।
वस्तु गणना - यह बताता है कि कितनी वस्तुओं का पता लगाया गया था।
ऑब्जेक्ट प्रॉपर्टी - चौड़ाई, ऊँचाई, केंद्रX, केंद्रY, मूलX, या मूलY लौटाता है।
इस पृष्ठ पर दिए गए उदाहरण डिफ़ॉल्ट प्लेग्राउंड प्रारंभ स्थिति का उपयोग करते हैं।
गति#
फ्लॉप गेम के तत्वों को इकट्ठा करने और बाहर निकालने के लिए इनटेक मोटर का उपयोग करता है। आर्म मोटर आर्म को ऊपर और नीचे उठाती है।
प्रत्येक मोटर के अपने दिशा विकल्प होते हैं। दिशा के नाम बताते हैं कि वह मोटर फ्लॉप पर कैसे चलती है।
कार्रवाई#
स्पिन मोटर#
स्पिन मोटर स्टैक ब्लॉक मोटर को दो दिशाओं में से किसी एक में लगातार घुमाता रहता है। मोटर तब तक घूमती रहेगी जब तक उसे कोई और क्रिया न दी जाए, जैसे कि किसी दूसरी दिशा में घुमाना या रोकना।
[IntakeMotor v] को [प्रवेश v] दिशा में घुमाएं
पैरामीटर |
विवरण |
|---|---|
मोटर |
घुमाने के लिए मोटर: इनटेक मोटर या आर्म मोटर। |
दिशा |
मोटर के घूमने की दिशा:
|
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
स्पिन मोटर के लिए#
स्पिन मोटर फॉर स्टैक ब्लॉक एक मोटर को एक निश्चित दूरी तक घुमाता है। यह घुमाव मोटर की वर्तमान स्थिति के सापेक्ष होता है। प्रोजेक्ट तब तक प्रतीक्षा करेगा जब तक मोटर का घूमना समाप्त नहीं हो जाता, उसके बाद ही स्टैक में अगला ब्लॉक चलेगा।
[ArmMotor v] को [ऊपर v] दिशा में (500) [डिग्री v] घुमाएं ▶
पैरामीटर |
विवरण |
|---|---|
मोटर |
घुमाने के लिए मोटर: इनटेक मोटर या आर्म मोटर। |
दिशा |
मोटर के घूमने की दिशा:
|
दूरी |
मोटर के घूमने की दूरी। डिग्री की गणना पूर्णांकों में की जाती है। चक्करों की गणना पूर्णांकों या दशमलव संख्याओं में की जा सकती है। |
इकाई |
दूरी की इकाई: डिग्री या चक्कर। |
और इंतज़ार मत करो |
ब्लॉक को विस्तारित करने के लिए तीर ( ▶ ) का चयन करें ताकि और प्रतीक्षा न करें लिखा जा सके, जिससे स्टैक में अगला ब्लॉक तुरंत चल जाएगा। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
स्पिन मोटर को स्थिति में लाएँ#
स्पिन मोटर टू पोजीशन स्टैक ब्लॉक मोटर को एक विशिष्ट स्थिति में घुमाता है।
मोटर की स्थिति उसके घूमने की दूरी को दर्शाती है, जिसे डिग्री या चक्कर में मापा जाता है। एक चक्कर 360 डिग्री के बराबर होता है। किसी प्रोजेक्ट की शुरुआत में, मोटर की स्थिति 0 डिग्री पर सेट होती है। मोटर की स्थिति को सेट मोटर पोजीशन ब्लॉक का उपयोग करके भी सेट किया जा सकता है।
स्थिति के मान निरपेक्ष होते हैं। इसका अर्थ है कि घूर्णन की दिशा मोटर की वर्तमान स्थिति पर निर्भर करती है।
उदाहरण के लिए, यदि मोटर 0 डिग्री से शुरू होकर 720 डिग्री तक घूमती है, तो वह दो चक्कर आगे की ओर घूमेगी। यदि फिर वह 360 डिग्री तक घूमती है, तो वह एक चक्कर पीछे की ओर घूमेगी, क्योंकि 360, 720 से कम है।
[ArmMotor v] को स्थिति (500) [डिग्री v] पर घुमाएं ▶
पैरामीटर |
विवरण |
|---|---|
मोटर |
घुमाने के लिए मोटर: इनटेक मोटर या आर्म मोटर। |
पद |
मोटर के घूमने की निर्धारित गति। डिग्री की गणना पूर्णांकों में की जाती है। चक्करों की गणना पूर्णांकों या दशमलव संख्याओं में की जा सकती है। |
इकाई |
स्थिति की इकाई: डिग्री या चक्कर। |
और इंतज़ार मत करो |
ब्लॉक को विस्तारित करने के लिए तीर ( ▶ ) का चयन करें ताकि और प्रतीक्षा न करें लिखा जा सके, जिससे स्टैक में अगला ब्लॉक तुरंत चल जाएगा। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को स्थिति (1) [चक्कर v] पर घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
मोटर बंद करो#
स्टॉप मोटर स्टैक ब्लॉक चयनित मोटर को रोक देता है।
[IntakeMotor v] रोकें
पैरामीटर |
विवरण |
|---|---|
मोटर |
जिस मोटर को रोकना है: इनटेक मोटर या आर्म मोटर। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
(1) सेकंड प्रतीक्षा करें
[IntakeMotor v] रोकें
सेटिंग्स#
मोटर की गति निर्धारित करें#
सेट मोटर वेलोसिटी स्टैक ब्लॉक मोटर को बताता है कि उसे कितनी गति से घूमना है। उच्च प्रतिशत मोटर को तेज़ घुमाता है और निम्न प्रतिशत मोटर को धीमा घुमाता है।
प्रत्येक परियोजना की शुरुआत में प्रत्येक मोटर डिफ़ॉल्ट रूप से 50% वेग से घूमती है।
ध्यान दें: अधिक वेग से मोटर की गति तेज हो जाती है, लेकिन इससे सटीकता कम हो सकती है। कम वेग से मोटर की गति धीमी हो जाती है, लेकिन इससे सटीकता बढ़ सकती है।
[IntakeMotor v] की वेलोसिटी [50] [% v] पर सेट करें
पैरामीटर |
विवरण |
|---|---|
मोटर |
वेग निर्धारित करने के लिए मोटर: इनटेक मोटर या आर्म मोटर। |
वेग |
मोटर की घूमने की गति। प्रतिशत में 0% से 100% तक की पूर्ण संख्याएँ प्रयुक्त होती हैं। |
इकाई |
वेग की इकाई: %. |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] की वेलोसिटी [100] [% v] पर सेट करें
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
मोटर टाइमआउट सेट करें#
सेट मोटर टाइमआउट स्टैक ब्लॉक यह निर्धारित करता है कि मोटर किसी गतिविधि को पूरा करने के लिए कितना समय लेगी। यदि मोटर उस समय में गतिविधि पूरी नहीं कर पाती है, तो वह प्रयास करना बंद कर देगी और स्टैक में अगले ब्लॉक पर चली जाएगी। इससे मोटर को गतिविधि के दौरान अटकने से बचाया जा सकता है।
[ArmMotor v] का टाइमआउट [1] सेकंड पर सेट करें
पैरामीटर |
विवरण |
|---|---|
मोटर |
टाइमआउट सेट करने के लिए मोटर: इनटेकमोटर या आर्ममोटर। |
समय |
मोटर द्वारा किसी गति को पूरा करने के लिए प्रयास किए जा सकने वाले सेकंडों की संख्या। यह एक पूर्ण संख्या या दशमलव संख्या हो सकती है। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] का टाइमआउट [2] सेकंड पर सेट करें
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
पद#
मोटर स्थिति#
मोटर की स्थिति उसके घूमने की दूरी को दर्शाती है, जिसे डिग्री या चक्करों में मापा जाता है। एक चक्कर 360 डिग्री के बराबर होता है। मोटर की वर्तमान स्थिति की जानकारी मोटर पोजीशन रिपोर्टर ब्लॉक द्वारा दी जाती है।
किसी प्रोजेक्ट की शुरुआत में, मोटर की स्थिति 0 डिग्री पर सेट की जाती है। यदि मोटर एक पूरा चक्कर आगे की ओर घूमती है, तो स्थिति 360 डिग्री या 1 चक्कर होगी। यदि मोटर विपरीत दिशा में घूमती है, तो स्थिति ऋणात्मक होगी।
([डिग्री v] में [ArmMotor v] की स्थिति)
पैरामीटर |
विवरण |
|---|---|
मोटर |
जिस मोटर की स्थिति की रिपोर्ट करनी है: इनटेक मोटर या आर्म मोटर। |
इकाई |
मोटर की स्थिति को दर्शाने वाली इकाई: डिग्री या टर्न। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
जबकि <([डिग्री v] में [ArmMotor v] की स्थिति) [math_less_than v] [360]>
[ArmMotor v] को [ऊपर v] दिशा में घुमाएं
(0.002) सेकंड प्रतीक्षा करें
अंत
[ArmMotor v] रोकें
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
मोटर की स्थिति निर्धारित करें#
मोटर की स्थिति उसके घूमने की दूरी को दर्शाती है, जिसे डिग्री या चक्करों में मापा जाता है। एक चक्कर 360 डिग्री के बराबर होता है। मोटर की वर्तमान स्थिति को सेट करने वाला स्टैक ब्लॉक मोटर की वर्तमान स्थिति को एक नए मान में बदल देता है।
उदाहरण के लिए, यदि कोई मोटर 180 डिग्री घूम चुकी है, तो उसकी स्थिति को 0 डिग्री पर सेट करने से वह स्थिति 180 से 0 डिग्री पर रीसेट हो जाएगी। फिर मोटर उस नए मान के आधार पर अलग-अलग स्थितियों में घूम सकती है।
[ArmMotor v] की स्थिति (0) [डिग्री v] पर सेट करें
पैरामीटर |
विवरण |
|---|---|
मोटर |
इनटेक मोटर या आर्म मोटर की स्थिति निर्धारित करने के लिए मोटर। |
पद |
निर्धारित की जाने वाली स्थिति का मान। डिग्री के लिए पूर्णांकों का उपयोग किया जाता है। चक्करों के लिए पूर्णांक या दशमलव का उपयोग किया जा सकता है। |
इकाई |
स्थिति की इकाई: डिग्री या चक्कर। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] की स्थिति [0] [डिग्री v] पर सेट करें
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
मान#
मोटर का काम हो गया है#
मोटर का काम पूरा हो गया है नामक बूलियन ब्लॉक यह बताता है कि मोटर चलना बंद हो गई है या नहीं। इसका उपयोग मोटर की गति के आधार पर अन्य कार्यों के समय को नियंत्रित करने के लिए किया जा सकता है।
सही — मोटर का चलना समाप्त हो गया है।
गलत — मोटर अभी भी चल रही है।
यह ब्लॉक निम्नलिखित मोशन ब्लॉकों के साथ मिलकर काम करता है जिनमें और प्रतीक्षा न करें पैरामीटर है: स्पिन मोटर के लिए और स्पिन मोटर को स्थिति में।
<[ArmMotor v] पूर्ण हुआ?>
पैरामीटर |
विवरण |
|---|---|
मोटर |
यह रिपोर्ट करने के लिए कि मोटर चलना बंद कर चुकी है या नहीं: इनटेक मोटर या आर्म मोटर। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को स्थिति (1) [चक्कर v] पर घुमाएं ◀ और प्रतीक्षा न करें
<[ArmMotor v] पूर्ण हुआ?> होने तक प्रतीक्षा करें
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
मोटर घूम रही है#
मोटर घूम रही है बूलियन ब्लॉक यह बताता है कि मोटर घूम रही है या नहीं। इसका उपयोग मोटर की गति के आधार पर अन्य कार्यों के समय को नियंत्रित करने के लिए किया जा सकता है।
सच है — मोटर घूम रही है।
गलत — मोटर नहीं घूम रही है।
यह ब्लॉक निम्नलिखित मोशन ब्लॉकों के साथ मिलकर काम करता है जिनमें और प्रतीक्षा न करें पैरामीटर है: स्पिन मोटर के लिए और स्पिन मोटर को स्थिति में।
<[IntakeMotor v] घूम रहा है?>
पैरामीटर |
विवरण |
|---|---|
मोटर |
यह रिपोर्ट करने के लिए कि मोटर घूम रही है या नहीं: इनटेक मोटर या आर्म मोटर। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
<नहीं <[IntakeMotor v] घूम रहा है?>> होने तक प्रतीक्षा करें
[IntakeMotor v] रोकें
मोटर वेग#
मोटर वेग रिपोर्टर ब्लॉक मोटर के घूमने की गति को -100% से 100% तक के प्रतिशत के रूप में रिपोर्ट करता है।
([% v] में [IntakeMotor v] की वेलोसिटी :: custom-motion)
पैरामीटर |
विवरण |
|---|---|
मोटर |
वेग की रिपोर्ट करने के लिए मोटर: इनटेक मोटर या आर्म मोटर। |
इकाई |
मोटर की गति को दर्शाने वाली इकाई: %। |
उदाहरण
जब शुरू हो
[Score a Bean Bag in a Blue Goal.]
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[आगे v] दिशा में (35) [इंच v] चलाएं ▶
[दाएं v] दिशा में (90) डिग्री मुड़ें ▶
[ArmMotor v] को [ऊपर v] दिशा में (1) [चक्कर v] घुमाएं ▶
[आगे v] दिशा में (40) [इंच v] चलाएं ▶
[IntakeMotor v] को [outtake v] दिशा में घुमाएं
[0.2] सेकंड प्रतीक्षा करें
([% v] में [IntakeMotor v] की वेलोसिटी :: custom-motion) प्रिंट करें ▶
एआई विज़न#
कार्रवाई#
ऑब्जेक्ट डेटा प्राप्त करें#
गेट ऑब्जेक्ट डेटा ब्लॉक, IQ AI विज़न सेंसर फ्रेम से डेटा को फ़िल्टर करके एक सिंगल सिग्नेचर में बदल देता है — यह सेंसर द्वारा पहचाने जा सकने वाली किसी चीज़ का सहेजा गया विवरण होता है, जैसे कि मैदान पर कोई गेम एलिमेंट।
इस डेटासेट में ऑब्जेक्ट्स को चौड़ाई के अनुसार सबसे बड़े से सबसे छोटे क्रम में, इंडेक्स 0 से शुरू करके संग्रहित किया गया है। प्रत्येक ऑब्जेक्ट के गुणों को ऑब्जेक्ट प्रॉपर्टी ब्लॉक का उपयोग करके एक्सेस किया जा सकता है। यदि कोई मेल खाने वाले ऑब्जेक्ट्स नहीं मिलते हैं, तो एक खाली डेटासेट लौटाया जाता है।
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
पैरामीटर |
विवरण |
|---|---|
हस्ताक्षर |
दिए गए हस्ताक्षर के डेटा को ही शामिल करने के लिए डेटासेट को फ़िल्टर करता है। उपलब्ध हस्ताक्षर हैं:
|
उदाहरण
जब शुरू हो :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Find and face the nearest red Bean Bag.]
टर्न वेलोसिटी (30) [% v] पर सेट करें
[object_counter v] को [1] पर सेट करें
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
([AIVision v] ऑब्जेक्ट की संख्या) बार दोहराएं
[AIVision v] ऑब्जेक्ट आइटम (object_counter) पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
if <([AIVision v] ऑब्जेक्ट [centerX v]) < (140)> then
[बाएं v] दिशा में मुड़ें
else if <([AIVision v] object [centerX v]) > (180)> then
[दाएं v] दिशा में मुड़ें
अन्यथा
चलाना बंद करें
अंत
ब्रेक
अंत
[object_counter v] को [1] से बदलें
अंत
सेटिंग्स#
सेट ऑब्जेक्ट आइटम#
सेट ऑब्जेक्ट आइटम ब्लॉक यह निर्धारित करता है कि डेटासेट में किस आइटम का उपयोग करना है।
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
पैरामीटर |
विवरण |
|---|---|
वस्तु |
उपयोग किए जाने वाले डेटासेट में आइटम की संख्या। |
उदाहरण
जब शुरू हो :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Find the index of the nearest red Bean Bag.]
[object_counter v] को [1] पर सेट करें
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
([AIVision v] ऑब्जेक्ट की संख्या) बार दोहराएं
[AIVision v] ऑब्जेक्ट आइटम (object_counter) पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
([Nearest Red Bean Bag is ] (object_counter) जोड़ें) प्रिंट करें ▶
ब्रेक
अन्यथा
[object_counter v] को [1] से बदलें
अंत
अंत
मान#
वस्तु मौजूद है#
ऑब्जेक्ट मौजूद है ब्लॉक एक बूलियन मान लौटाता है जो यह दर्शाता है कि डेटासेट में कोई ऑब्जेक्ट पाया गया है या नहीं।
सत्य - डेटासेट में एक पहचानी गई वस्तु शामिल है।
गलत - डेटासेट में कोई भी पहचाने गए ऑब्जेक्ट शामिल नहीं हैं।
<[AIVision v] ऑब्जेक्ट मौजूद है?>
पैरामीटर |
विवरण |
|---|---|
इस ब्लॉक में कोई पैरामीटर नहीं है। |
उदाहरण
जब शुरू हो :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Turn until a Bean Bag is detected.]
टर्न वेलोसिटी (30) [% v] पर सेट करें
[दाएं v] दिशा में मुड़ें
<[AIVision v] ऑब्जेक्ट मौजूद है?> होने तक दोहराएं
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
अंत
चलाना बंद करें
वस्तु है#
ऑब्जेक्ट इज ब्लॉक एक बूलियन मान लौटाता है जो यह दर्शाता है कि क्या पता लगाया गया ऑब्जेक्ट किसी विशिष्ट वर्गीकरण से मेल खाता है।
सत्य - डेटासेट में मौजूद आइटम विशिष्ट वस्तु है।
गलत - डेटासेट में मौजूद आइटम विशिष्ट वस्तु नहीं है।
<[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?>
पैरामीटर |
विवरण |
|---|---|
वस्तु |
इस वस्तु की तुलना किससे करनी है: रेडबीनबैग, ब्लूबीनबैग, या येलोबीनबैग? |
उदाहरण
जब शुरू हो :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Find the index of the nearest red Bean Bag.]
[object_counter v] को [1] पर सेट करें
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
([AIVision v] ऑब्जेक्ट की संख्या) बार दोहराएं
[AIVision v] ऑब्जेक्ट आइटम (object_counter) पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
([Nearest Red Bean Bag is ] (object_counter) जोड़ें) प्रिंट करें ▶
ब्रेक
अन्यथा
[object_counter v] को [1] से बदलें
अंत
अंत
ऑब्जेक्ट अप्रैलटैग है#
ऑब्जेक्ट इज़ अप्रैलटैग ब्लॉक एक बूलियन मान लौटाता है जो यह दर्शाता है कि क्या पता लगाया गया ऑब्जेक्ट एक अप्रैलटैग है जो एक विशिष्ट आईडी से मेल खाता है।
सत्य - पता लगाया गया ऑब्जेक्ट दिए गए आईडी वाला एक अप्रैलटैग है।
गलत - पता लगाया गया ऑब्जेक्ट दिए गए आईडी वाला अप्रैलटैग नहीं है।
<[AIVision v] ऑब्जेक्ट AprilTag [0] है?>
पैरामीटर |
विवरण |
|---|---|
अप्रैलटैग आईडी |
पता लगाए गए AprilTag से तुलना करने के लिए आईडी नंबर। |
उदाहरण
जब शुरू हो :: hat events
[Stop when you see the Red Goal!]
टर्न वेलोसिटी (30) [% v] पर सेट करें
[दाएं v] दिशा में मुड़ें
<[AIVision v] ऑब्जेक्ट AprilTag [1] है?> होने तक दोहराएं
[AIVision v] से [AprilTags v] डेटा प्राप्त करें
अंत
चलाना बंद करें
[Found the Red Goal!] प्रिंट करें ▶
वस्तु गणना#
ऑब्जेक्ट काउंट ब्लॉक डेटासेट में पता लगाए गए ऑब्जेक्ट्स की संख्या को एक पूर्णांक के रूप में लौटाता है।
([AIVision v] ऑब्जेक्ट की संख्या)
पैरामीटर |
विवरण |
|---|---|
इस ब्लॉक में कोई पैरामीटर नहीं है। |
उदाहरण
जब शुरू हो :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Print how many Bean Bags are detected.]
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
([AIVision v] ऑब्जेक्ट की संख्या) प्रिंट करें ▶
ऑब्जेक्ट प्रॉपर्टी#
get object data ब्लॉक का उपयोग करने के बाद संग्रहीत प्रत्येक ऑब्जेक्ट के साथ छह गुण शामिल होते हैं।
([AIVision v] ऑब्जेक्ट [चौड़ाई v])
सभी प्रॉपर्टी वैल्यू, गेट ऑब्जेक्ट डेटा ब्लॉक का उपयोग किए जाने के समय IQ AI विज़न सेंसर के दृश्य में पता लगाए गए ऑब्जेक्ट की स्थिति और आकार का वर्णन करती हैं। ये मान पिक्सल में मापे जाते हैं, जो सेंसर के 320 x 240 पिक्सल रिज़ॉल्यूशन पर आधारित हैं।
पैरामीटर |
विवरण |
|---|---|
संपत्ति |
पता लगाए गए ऑब्जेक्ट के किस गुण का उपयोग करना है: चौड़ाई, ऊंचाई, केंद्रX, केंद्रY, मूलX, या मूलY। |
चौड़ाई#
width प्रॉपर्टी पता लगाए गए ऑब्जेक्ट की चौड़ाई को पिक्सल में 1 से 320 तक की पूर्णांक संख्या के रूप में रिपोर्ट करती है।
([AIVision v] ऑब्जेक्ट [चौड़ाई v])
उदाहरण
जब शुरू हो
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Approach the Bean Bag, then pick it up.]
ड्राइव वेलोसिटी (30) [% v] पर सेट करें
हमेशा
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
यदि <[AIVision v] ऑब्जेक्ट मौजूद है?> तो
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
if <([AIVision v] object [width v]) > (180)> then
[आगे v] दिशा में [50] [mm v] चलाएं ▶
[IntakeMotor v] को [प्रवेश v] दिशा में [90] [डिग्री v] घुमाएं ▶
ब्रेक
अन्यथा
[आगे v] दिशा में चलाएं
अंत
अंत
अंत
अंत
ऊंचाई#
ऊंचाई प्रॉपर्टी पता लगाए गए ऑब्जेक्ट की ऊंचाई को पिक्सल में 1 से 240 तक की पूर्णांक संख्या के रूप में रिपोर्ट करती है।
([AIVision v] ऑब्जेक्ट [ऊंचाई v])
उदाहरण
जब शुरू हो
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Approach the Bean Bag, then pick it up.]
ड्राइव वेलोसिटी (30) [% v] पर सेट करें
हमेशा
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
यदि <[AIVision v] ऑब्जेक्ट मौजूद है?> तो
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
if <([AIVision v] object [height v]) > (100)> then
[आगे v] दिशा में [50] [mm v] चलाएं ▶
[IntakeMotor v] को [प्रवेश v] दिशा में [90] [डिग्री v] घुमाएं ▶
ब्रेक
अन्यथा
[आगे v] दिशा में चलाएं
अंत
अंत
अंत
अंत
केंद्रX#
centerX प्रॉपर्टी पता लगाए गए ऑब्जेक्ट के केंद्र के x-निर्देशांक को पिक्सल में 0 से 320 तक की पूर्णांक संख्या के रूप में रिपोर्ट करती है।
([AIVision v] ऑब्जेक्ट [centerX v])
उदाहरण
जब शुरू हो
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Steer to keep the Bean Bag centered while approaching.]
टर्न वेलोसिटी (30) [% v] पर सेट करें
ड्राइव वेलोसिटी (30) [% v] पर सेट करें
हमेशा
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
यदि <[AIVision v] ऑब्जेक्ट मौजूद है?> तो
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
if <([AIVision v] ऑब्जेक्ट [centerX v]) < (140)> then
[बाएं v] दिशा में (5) डिग्री मुड़ें ▶
अन्यथा
[आगे v] दिशा में (150) [mm v] चलाएं ▶
[IntakeMotor v] को [प्रवेश v] दिशा में घुमाएं
ब्रेक
अंत
अंत
अंत
अंत
केंद्र#
centerY प्रॉपर्टी, पता लगाए गए ऑब्जेक्ट के केंद्र के y-निर्देशांक को पिक्सल में 0 से 240 तक की पूर्णांक संख्या के रूप में रिपोर्ट करती है।
([AIVision v] ऑब्जेक्ट [centerY v])
उदाहरण
जब शुरू हो
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Print the y-position of the Bean Bag.]
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
यदि <[AIVision v] ऑब्जेक्ट मौजूद है?> तो
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
([AIVision v] ऑब्जेक्ट [centerY v]) प्रिंट करें ▶
अंत
अंत
उत्पत्तिX#
originX प्रॉपर्टी, पता लगाए गए ऑब्जेक्ट के बाउंडिंग बॉक्स के ऊपरी-बाएँ कोने के x-निर्देशांक को पिक्सेल में 0 से 320 तक की पूर्ण संख्या के रूप में रिपोर्ट करती है।
([AIVision v] ऑब्जेक्ट [originX v])
उदाहरण
जब शुरू हो
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Steer to keep the left edge centered.]
टर्न वेलोसिटी (30) [% v] पर सेट करें
ड्राइव वेलोसिटी (30) [% v] पर सेट करें
हमेशा
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
यदि <[AIVision v] ऑब्जेक्ट मौजूद है?> तो
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
if <([AIVision v] ऑब्जेक्ट [originX v]) < (100)> then
[बाएं v] दिशा में (5) डिग्री मुड़ें ▶
अन्यथा
[आगे v] दिशा में (150) [mm v] चलाएं ▶
[IntakeMotor v] को [प्रवेश v] दिशा में घुमाएं
ब्रेक
अंत
अंत
अंत
अंत
उत्पत्ति#
originY प्रॉपर्टी, पता लगाए गए ऑब्जेक्ट के बाउंडिंग बॉक्स के ऊपरी-बाएँ कोने के y-निर्देशांक को पिक्सेल में 0 से 240 तक की पूर्णांक संख्या के रूप में रिपोर्ट करती है।
([AIVision v] ऑब्जेक्ट [originY v])
उदाहरण
जब शुरू हो
[Drop the preloaded Bean Bag.]
[IntakeMotor v] को [outtake v] दिशा में (180) [डिग्री v] घुमाएं ▶
[बाएं v] दिशा में (90) डिग्री मुड़ें ▶
[Print the y-position of the Bean Bag's top edge.]
[AIVision v] से [AI वर्गीकरण v] डेटा प्राप्त करें
यदि <[AIVision v] ऑब्जेक्ट मौजूद है?> तो
[AIVision v] ऑब्जेक्ट आइटम [1] पर सेट करें
यदि <[AIVision v] ऑब्जेक्ट [RedBeanBag v] है?> तो
([AIVision v] ऑब्जेक्ट [originY v]) प्रिंट करें ▶
अंत
अंत