सीएस फील्ड सेशन

CG_GUI_19

पृष्ठभूमि

2020 की गर्मियों के दौरान, मैंने कोलोराडो स्कूल ऑफ माइनस में अपने सीएस अंडरग्रेजुएट प्रोग्राम के हिस्से के रूप में CSCI370 या “एडवांस्ड सॉफ्टवेयर इंजीनियरिंग” लिया। CSCI370 एक ऐसा कोर्स है जो छात्रों को एक कंपनी के लिए सॉफ्टवेयर से संबंधित समाधानों को डिजाइन, कार्यान्वित और दस्तावेज़ करने के लिए बनाता है। यह छात्रों को अपने पाठ्यक्रम ज्ञान को वास्तविक दुनिया की कंप्यूटर विज्ञान की समस्याओं पर लागू करने की अनुमति देता है। आप इस कोर्स के बारे में अधिक जान सकते हैं यहाँ

कोर्स में, आप यह तय करते हैं कि आप किस प्रोजेक्ट/कंपनी पर काम करेंगे। कोर्स ने प्रत्येक प्रोजेक्ट और कंपनी का विवरण देने वाले पीडीएफ प्रदान किए। अंततः मैंने एक कंपनी द्वारा पोस्ट किए गए प्रोजेक्ट पर काम करने का निर्णय लिया जिसका नाम लूनर आउटपोस्ट है, जिसका शीर्षक है रियल टाइम व्हील स्लिप डिटेक्शन और एरर करेक्शंस फॉर एनहांस्ड लूनर नेविगेशन। नाम लंबा होने के कारण, चलिए इस प्रोजेक्ट को “व्हील स्लिपेज डिटेक्शन” का उपनाम देते हैं।

समस्या

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

साथी

यह प्रोजेक्ट एक साधारण प्रोजेक्ट नहीं था, इसलिए इसे एक टीम में करना पड़ा। टीम में कोलोराडो स्कूल ऑफ माइनस के पांच साथी छात्र शामिल थे:

  • मेहमत यिलमाज़
  • केन ब्रूस
  • ब्रेडन ओ’कालाघन
  • लियाम डेम्पसी
  • केविन ग्रांट

इस प्रोजेक्ट के लिए हमें कुछ ROS, C++, Python, Linux, Raspberry Pi, और Arduino का ज्ञान होना आवश्यक था। हम में से अधिकांश के पास इन तकनीकों में से एक या एक से अधिक का अनुभव था लेकिन मैं ROS में अनुभव रखने वाला एकमात्र व्यक्ति था क्योंकि मैंने स्प्रिंग 2020 सेमेस्टर के दौरान अपने मानव-केंद्रित रोबोटिक्स (CSC470) कक्षा में ROS का उपयोग किया था। इस कारण से, शुरुआत में, मैंने सभी को ROS के बारे में जानकारी देने में मदद की और इसके लिए विकास कैसे करना है।

चुनौतियाँ

इस प्रोजेक्ट में कई चुनौतियाँ थीं। लेकिन सबसे बड़ी चुनौती यह थी कि हमें परीक्षण के लिए वास्तविक दुनिया के रोबोट तक पहुंच नहीं थी। यह COVID के कारण था जिसने सब कुछ दूरस्थ बना दिया और हमें लूनर आउटपोस्ट की प्रयोगशाला/भवनों में काम करने से रोक दिया। इस कारण से, हमें सिमुलेशन का उपयोग करना पड़ा।

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

हमारी एक और चुनौती यह थी कि हमारे पास इस प्रोजेक्ट पर काम करने के लिए कितना समय था। CSCI370 एक महीने का क्लास है। लेकिन समस्या स्वयं एक विशाल समस्या है जिसे कई कंपनियों और अकादमिकों ने दशकों से हल करने/संपूर्ण करने की कोशिश की है। इसलिए एक महीने का समय इस समस्या को हल करने के लिए बहुत कम है। लेकिन, इन सभी चुनौतियों के बावजूद, हमने आगे बढ़ने का प्रयास किया और सुनिश्चित किया कि हम डिलीवर करें।

निष्कर्ष

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

इस प्रोजेक्ट के दौरान, हमने वास्तव में ROS का उपयोग करना और ROS और Gazebo का उपयोग करके सिमुलेशन बनाना सीखा। हमने व्हील स्लिपेज डिटेक्शन के शोध क्षेत्र में भी बेहतर समझ प्राप्त की। हमें WVU नेविगेशन लैब के कुछ अकादमिकों/शोधकर्ताओं से मिलने का सम्मान भी मिला।

इन सभी को जानकर, मुझे कहना होगा कि इस प्रोजेक्ट ने मुझे टीम में एक नेतृत्व की स्थिति लेने की अनुमति दी, मेरे साथियों को ROS को बेहतर ढंग से समझने में मदद करने के लिए एक शिक्षक के रूप में कार्य किया, और मुझे ROS, Gazebo, और Python में अधिक अनुभव प्रदान किया। इसने मुझे व्हील स्लिपेज की समस्या से भी अवगत कराया, जो एक समस्या थी जिसके बारे में मैं इस प्रोजेक्ट पर काम करने से पहले नहीं जानता था। कुल मिलाकर, मैं आभारी हूं कि लूनर आउटपोस्ट ने अपने व्यस्त कार्यक्रम से समय निकाला, विशेष रूप से COVID के दौरान, ताकि हम इस प्रोजेक्ट पर काम कर सकें। मैं यह भी आभारी हूं कि मुझे अद्भुत साथियों का साथ मिला जिन्होंने इस प्रोजेक्ट पर वास्तव में कड़ी मेहनत की।