Modeling and Recovering Hierarchical Structural Architectures of ROS 2 Systems from Code and Launch Configurations using LLM-based Agents
यह शोध पत्र एक UML-आधारित मॉडलिंग अवधारणा और एक LLM-एजेंट-संचालित पाइपलाइन प्रस्तावित करता है जो कोड और लॉन्च कॉन्फ़िगरेशन से ROS 2 सिस्टम के पदानुक्रमित संरचनात्मक आर्किटेक्चर को स्वचालित रूप से पुनर्गठित करने के लिए है, जो जटिल सबसिस्टम-स्तरीय अर्थों (semantics) को पकड़ने में चुनौतियों को उजागर करते हुए एब्स्ट्रैक्शन-स्तर की रिकवरी में उच्च सटीकता प्राप्त करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
मुख्य विचार: "खोई हुई ब्लूप्रिंट" की समस्या
कल्पना कीजिए कि आप एक विशाल, हाई-टेक फैक्ट्री (एक ROS 2 सिस्टम) में कदम रखते हैं। इसके अंदर, सैकड़ों रोबोट (जिन्हें Nodes कहा जाता है) मिलकर काम कर रहे हैं। कुछ रोबोट आपस में संदेश चिल्लाकर एक-दूसरे को भेजते हैं (Topics), जबकि अन्य के पास सीधे फोन लाइनें (Services) होती हैं।
समस्या क्या है? फैक्ट्री मैनेजर (यानी Architect) ने कभी यह नक्शा नहीं बनाया कि ये रोबोट कैसे व्यवस्थित हैं। इसके बजाय, उन्हें जोड़ने के निर्देश हर जगह बिखरे हुए हैं:
- कुछ निर्देश खुद रोबोट के कोड में लिखे हैं।
- कुछ एक "लॉन्च फाइल" (एक मास्टर शेड्यूल जो फैक्ट्री को बताता है कि कौन से रोबोट चालू करने हैं और उन्हें कैसे समूह में रखना है) में हैं।
- कुछ कॉन्फ़िगरेशन फाइलों में छिपे हुए हैं।
यदि आप फैक्ट्री को समझना चाहते हैं, तो आपको संरचना का अनुमान लगाने के लिए कोड और शेड्यूल के हजारों पन्ने पढ़ने होंगे। यदि फैक्ट्री बदलती है, तो वे अनुमान तुरंत गलत हो जाते हैं। यह वही समस्या है जिसे यह पेपर हल करता है: हम रोबोट फैक्ट्री के बिखरे हुए निर्देशों को पढ़कर स्वचालित रूप से एक स्पष्ट, व्यवस्थित नक्शा कैसे बना सकते हैं?
समाधान: एक नियम पुस्तिका के साथ एक स्मार्ट जासूस
लेखकों ने एक ऐसा सिस्टम बनाया है जो फैक्ट्री का नक्शा फिर से बनाने के लिए एक सुपर-स्मार्ट डिटेक्टिव (जासूस) की तरह काम करता है। लेकिन उन्होंने केवल जासूस को अनुमान लगाने के लिए नहीं छोड़ा; उन्होंने उन्हें एक सख्त नियम पुस्तिका (Rulebook) (यानी "ब्लूप्रिंट") दी।
यहाँ बताया गया है कि उनका सिस्टम कैसे काम करता है, चरण-दर-चरण:
1. नियम पुस्तिका (The UML Model)
जासूस के शुरू करने से पहले, लेखकों ने एक विशिष्ट भाषा बनाई (जो UML पर आधारित है, जो सॉफ्टवेयर डायग्राम बनाने का एक मानक तरीका है) ताकि फैक्ट्री का वर्णन किया जा सके।
- एटॉमिक नोड्स (Atomic Nodes): ये व्यक्तिगत रोबोट हैं।
- कंपोज्ड नोड्स (Composed Nodes): ये मिलकर काम करने वाली रोबोट्स की टीमें हैं (जैसे कि एक "पेंटिंग क्रू" या "निरीक्षण टीम")।
- नेमस्पेस (Namespaces): इन्हें फैक्ट्री के अलग-अलग कमरों के रूप में सोचें। "किचन" में स्थित एक "कैमरा" नाम का रोबोट "गैरेज" में स्थित "कैमरा" से अलग है।
2. हाइब्रिड डिटेक्टिव टीम (LLM + Rules)
यह सिस्टम काम करने के लिए दो प्रकार के जासूसों का उपयोग करता है जो मिलकर काम करते हैं:
- डिटेक्टिव A (द रोबोट): यह हिस्सा पूरी तरह से तार्किक और नियत (deterministic) है। यह बुनियादी रोबोट खोजने के लिए सोर्स कोड को स्कैन करता है। यह विशिष्ट पैटर्न (जैसे "यह क्लास
rclcpp::Nodeसे इनहेरिट करती है") को ढूंढता है। यह एक बारकोड स्कैनर की तरह है; यह तेज़ है, सटीक है, और सरल चीजों पर कभी गलती नहीं करता। - डिटेक्टिव B (द AI एजेंट): यह एक लार्ज लैंग्वेज मॉडल (AI) है। इसका काम बिखरी हुई "लॉन्च फाइल्स" को देखना और यह समझना है कि रोबोट्स को टीमों में कैसे समूहबद्ध किया गया है।
- सावधानी: यदि आप केवल एक AI से "नक्शा बनाने" के लिए कहते हैं, तो वह कल्पना कर सकता है (hallucinate) या भ्रमित हो सकता है।
- समाधान: लेखकों ने AI को नियम पुस्तिका (Rulebook) दी। AI को नियम पुस्तिका के बाहर मौजूद नए प्रकार के रोबोट या कनेक्शन बनाने की अनुमति नहीं है। इसे अपने उत्तरों को नियम पुस्तिका के पूर्व-निर्धारित बॉक्सों में ही फिट करना होगा। यह AI को बहुत अधिक विश्वसनीय बनाता है।
3. आउटपुट (The Output)
सिस्टम एक साफ, पदानुक्रमित (hierarchical) आरेख निकालता है (जैसे रोबोटों के लिए फैमिली ट्री)। यह दिखाता है:
- व्यक्तिगत रोबोट कौन हैं।
- कौन से रोबोट टीमों में समूहबद्ध हैं।
- वे किस कमरे (नेमस्पेस) में हैं।
- वे आपस में कैसे बात करते हैं।
प्रयोग: जासूस का परीक्षण
टीम ने तीन अलग-अलग "फैक्ट्रियों" पर अपने सिस्टम का परीक्षण किया:
खिलौना फैक्ट्री (सरल - The Toy Factory): एक छोटा, साफ कोडबेस जिसमें कोई जटिल लॉन्च फाइलें नहीं हैं।
- परिणाम: परफेक्ट स्कोर (100%)। सिस्टम ने हर रोबोट और कनेक्शन को ढूंढ लिया। चूंकि निर्देश स्पष्ट थे, इसलिए AI को ज्यादा अनुमान लगाने की जरूरत नहीं पड़ी।
व्यवस्थित कार्यशाला (मध्यम - The Organized Workshop): एक थोड़ा अधिक जटिल सेटअप जिसमें लॉन्च फाइलें हैं जो रोबोट को टीमों में समूहबद्ध करती हैं।
- परिणाम: उच्च सटीकता (High Accuracy)। सिस्टम व्यक्तिगत रोबोटों को खोजने में बहुत अच्छा था। यह उन्हें समूह में बांटने में भी बहुत अच्छा था, हालांकि इसने "लॉन्च" निर्देशों में कुछ सूक्ष्म कनेक्शनों को मिस कर दिया।
विशाल औद्योगिक संयंत्र (कठिन - The Giant Industrial Plant): एक विशाल, वास्तविक दुनिया का औद्योगिक कोडबेस (जो Autoware से लिया गया है, जिसका उपयोग सेल्फ-ड्राइविंग कारों के लिए किया जाता है)।
- परिणाम: मिश्रित परिणाम (Mixed Bag)।
- प्रिसिजन/सटीकता (Precision): जब सिस्टम ने कोई कनेक्शन बनाया, तो वह लगभग हमेशा सही था। इसने कोई फर्जी कनेक्शन नहीं बनाया।
- रिकॉल/पूर्णता (Recall): यह जटिल टीम संरचनाओं के लगभग 65% हिस्से को खोजने में विफल रहा।
- क्यों? विशाल औद्योगिक प्रणालियों में, निर्देश अक्सर कोड की गहरी परतों के अंदर छिपे होते हैं या बहुत चतुर, अंतर्निहित (implicit) तरीकों से लिखे जाते हैं। AI, नियम पुस्तिका के बावजूद, हर एक छिपे हुए निर्देश को नहीं ढूंढ सका।
- परिणाम: मिश्रित परिणाम (Mixed Bag)।
निष्कर्ष: हमने क्या सीखा?
पेपर एक बहुत ही महत्वपूर्ण सबक के साथ समाप्त होता है:
- हम "ईंटों" को खोजने में माहिर हैं: सिस्टम व्यक्तिगत घटकों (कोड क्लासेस) को पहचानने में उत्कृष्ट है क्योंकि उन्हें पढ़ना आसान है।
- हम अभी भी "मोर्टार" (सीमेंट/गारा) के लिए संघर्ष कर रहे हैं: सिस्टम यह समझने में संघर्ष करता है कि उन ईंटों को जटिल संरचनाओं में कैसे जोड़ा गया है, जब निर्देश छिपे हुए या अंतर्निहित होते हैं।
रूपक (Metaphor):
कल्प laइए कि आप पत्थरों के ढेर और कुछ बिखरे हुए नोट्स से एक महल को फिर से बनाने की कोशिश कर रहे हैं।
- सिस्टम यह पहचानने में परफेक्ट है कि "यह एक पत्थर है" और "यह एक खिड़की है।"
- हालांकि, जब नोट्स कहते हैं "इस टावर को यहाँ रखें," लेकिन वह नोट किसी दूसरी किताब के अंदर एक पहेली के रूप में लिखा है, तो सिस्टम कभी-कभी टावर को मिस कर देता है।
यह क्यों मायने रखता है?
जो कंपनियाँ सेल्फ-ड्राइविंग कार या रोबोट बना रही हैं, उनके लिए उनके सॉफ्टवेयर का स्पष्ट नक्शा होना सुरक्षा और रखरखाव के लिए महत्वपूर्ण है। यह पेपर एक ऐसा टूल प्रदान करता है जो स्वचालित रूप से उस नक्शे को बना सकता है, जिससे इंजीनियरों के मैनुअल काम के घंटों की बचत होती है और उन्हें अपने जटिल सिस्टम को बेहतर ढंग से समझने में मदद मिलती है—भले ही यह सबसे अराजक, औद्योगिक-स्तर के प्रोजेक्टों के लिए अभी भी पूरी तरह से परफेक्ट न हो।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।