रोबोट वैक्यूम क्लीनर की प्रोग्रामिंग
रोबोट वैक्यूम और सर्विस प्लेटफ़ॉर्म की प्रोग्रामिंग: नेविगेशन, बाधा-निवारण, कमरे का नक्शा। रोबोट वैक्यूम की प्रोग्रामिंग हम ROS2 + Nav2 + SLAM, Open Interface (Roomba), Valetudo (Xiaomi) और ESP32/Raspberry Pi पर करते हैं। हम DIY और तैयार प्लेटफ़ॉर्म के सुधार — दोनों तरह की रोबोट वैक्यूम की प्रोग्रामिंग लेते हैं।
सेवा में क्या शामिल है
हम ग्राहक का रोबोट वैक्यूम लेकर उसके लिए नियंत्रण लॉजिक लिखते हैं: कमरे का नक्शा बनाना, घूमने के मार्ग, मनाही-क्षेत्र और समय-सारणी से सफ़ाई के परिदृश्य सेट करते हैं। हमारे यहाँ रोबोट वैक्यूम की प्रोग्रामिंग का मतलब है किसी ख़ास उपकरण के फ़र्मवेयर और सॉफ़्टवेयर पर काम, न कि हार्डवेयर जोड़ना: वैक्यूम ख़ुद चलकर सफ़ाई करता है, हम उसके व्यवहार का प्रोग्राम और पैरामीटर तैयार करते हैं। बाधा-सेंसर, लिडार या कैमरा नेविगेशन-स्टैक से जोड़ते हैं और उन्हें ऐसे कैलिब्रेट करते हैं कि उपकरण दीवार को दहलीज़ न समझे। नियंत्रण को लोकल नेटवर्क में लाते हैं ताकि उपकरण निर्माता के अनिवार्य क्लाउड के बिना काम करे। अंत में ग्राहक को पूर्वानुमेय निवारण-लॉजिक वाला सेट उपकरण और पैरामीटरों का दस्तावेज़ मिलता है।
मूल रूप से यह कैसे काम करता है
किसी भी आधुनिक रोबोट वैक्यूम के मूल में तीन हिस्सों की कड़ी होती है: बोध, स्थान-निर्धारण और पथ-योजना। सेंसर कमरे की ज्यामिति लेते हैं, SLAM एल्गोरिद्म एक साथ नक्शा बनाता और उस पर उपकरण की स्थिति तय करता है, और प्लानर पहले से ज्ञात क्षेत्र पर मार्ग बिछाता है। सटीक स्थान-निर्धारण के बिना रोबोट यह भूल जाता है कि वह कहाँ है और कुछ हिस्सों को दो बार साफ़ करता, बाक़ी छोड़ देता है। हम यह कड़ी ग्राहक के कमरे के अनुसार सेट करते हैं: सेंसर-शोर के फ़िल्टर के पैरामीटर, नक्शे के अद्यतन की दर और कुर्सी के पैरों जैसी गतिशील बाधाओं को घुमने के नियम तय करते हैं। प्रोग्राम लगातार वास्तविक स्थिति को नक्शे से मिलाकर रीयल-टाइम में ट्रैजेक्टरी ठीक करता रहता है।
यह दिशा कब उभरी
पहला सीरियल रोबोट वैक्यूम Electrolux ने निकाला: Trilobite का प्रोटोटाइप 1996 में दिखाया गया, और तैयार उपकरण नवंबर 2001 में बाज़ार में आया तथा इस श्रेणी का पहला व्यावसायिक उपकरण बना। सितंबर 2002 में iRobot ने Roomba पेश किया, और यही शृंखला श्रेणी का जन-मानक बनी और आज तक बाज़ार में टिकी है। शुरुआती मॉडल लगभग नक्शा नहीं बनाते थे और अर्ध-यादृच्छिक चलते, दीवारों से टकराकर मुड़ते थे, जिससे क्षेत्र की सफ़ाई असमान रहती। कमरे का नक्शा बनाने वाले सार्थक नेविगेशन तक पहुँचने में लगभग एक दशक और लगा, जो लिडार के सस्ते होने और ऑनबोर्ड प्रोसेसरों की गणन-शक्ति बढ़ने से संभव हुआ। यही विकास तय करता है कि आज उपकरण का मूल्य ब्रश पर नहीं, सॉफ़्टवेयर पर टिका है।
सॉफ़्टवेयर और सटीकता क्यों अहम हैं
रोबोट वैक्यूम की मशीनरी सस्ती और लगभग सभी निर्माताओं में एक जैसी है, और सफ़ाई के नतीजे में फ़र्क ठीक नेविगेशन-सॉफ़्टवेयर डालता है। कुछ सेंटीमीटर की स्थान-निर्धारण गलती से उपकरण साफ़ क्षेत्रों पर बार-बार घूमता और कोनों तक नहीं पहुँचता, चार्ज व्यर्थ करता है। ग़लत तय किए मनाही-क्षेत्र का मतलब है कि रोबोट तारों, झालर वाले क़ालीन पर चढ़ जाएगा या ऐसी जगह जहाँ फँस जाएगा। सेंसर-फ़िल्टर और प्लानर-पैरामीटर की सटीक सेटिंग सीधे तय करती है कि क्षेत्र कितने चक्करों में और किस कवरेज से साफ़ होगा। इसीलिए रोबोट वैक्यूम की प्रोग्रामिंग को हम मापने योग्य नतीजे वाले इंजीनियरिंग कार्य के रूप में देखते हैं: क्षेत्र-कवरेज, चक्र-समय और फँसने की संख्या।
हमारा स्टैक और उपकरण
आधार है ROS2 — रोबोटिक्स का औद्योगिक फ़्रेमवर्क: इसी पर सेंसरों, नक्शे और मोटरों के बीच डेटा-विनिमय बनता है। नेविगेशन को Nav2 स्टैक से ढकते हैं, जो मार्ग-योजना, बाधा-निवारण और स्थान-निर्धारण खोने पर व्यवहार के लिए ज़िम्मेदार है। नक्शा SLAM एल्गोरिद्म से बनाते हैं, किसी उपकरण के सेंसर-प्रकार — लिडार हो या कैमरा — के अनुसार कार्यान्वयन चुनते हुए। रोबोट वैक्यूम के लिए हम Open Interface को प्लेटफ़ॉर्म तक कमांड का निम्न-स्तरीय चैनल और Valetudo को उपकरण को निर्माता के क्लाउड के बिना लोकल नियंत्रण पर लाने के लिए इस्तेमाल करते हैं। उपकरणों का ठोस सेट ग्राहक के हार्डवेयर के अनुसार चुनते हैं, क्योंकि हर उपकरण फ़र्मवेयर के पूर्ण प्रतिस्थापन का समर्थन नहीं करता।
मुख्य उपकरण कब आए
SLAM का तरीक़ा पुरानी जड़ों वाला है: स्थिति के प्रायिक आकलन पर बुनियादी काम 1986 में स्मिथ, सेल्फ़ और चीज़मैन ने प्रकाशित किए, और SLAM शब्द 1995 में ड्यूरंट-व्हाइट और लियोनार्ड ने गढ़ा। ROS फ़्रेमवर्क Willow Garage में नवंबर 2007 में उपजा, और इसका पुनर्गठित संस्करण ROS2 दिसंबर 2016 में बीटा-चरण में आया तथा पहला आधिकारिक रिलीज़ Ardent Apalone 8 दिसंबर 2017 को मिला। नेविगेशन-स्टैक Nav2 पुराने ROS नेविगेशन स्टैक के लगभग पंद्रह साल के विकास का उत्तराधिकारी है और ROS2 की वास्तुकला के लिए पुनः ढाला गया। वैक्यूम के लोकल नियंत्रण का प्रोजेक्ट Valetudo 2018 में शुरू हुआ और तब से दर्जनों मॉडलों का समर्थन करता है। ये तारीख़ें दिखाती हैं कि उपकरण के भीतर समय-परखी, न कि कच्ची प्रयोगात्मक, तकनीकें हैं।
यह हमें क्यों सौंपा जा सकता है
हमारी डेवलपमेंट टीम का कुल अनुभव IT में 45 साल से अधिक है, और हम रोबोट को घरेलू गैजेट नहीं, बल्कि इंजीनियरिंग प्रणाली की तरह देखते हैं। हम हार्डवेयर न बनाते न जोड़ते हैं: वैक्यूम आपका रहता है, हम प्रोग्राम लिखते-सुधारते हैं और उसके व्यवहार को किसी ख़ास कमरे के अनुसार सेट करते हैं। हर कॉन्फ़िगरेशन को असली शुरुआत से पहले वास्तविक चक्करों पर जाँचते हैं, क्षेत्र-कवरेज, चक्र-समय और कठिन हिस्सों पर व्यवहार मापते हैं। सभी पैरामीटर और निर्णय हम दस्तावेज़ में दर्ज करते हैं ताकि सेटअप एक ही ठेकेदार पर निर्भर हुए बिना दोहराया और संभाला जा सके। यह तरीक़ा उस स्थिति को टालता है जब उपकरण महँगा ख़रीदा गया हो, पर कच्चे फ़ैक्ट्री-लॉजिक के कारण अंदाज़े से चलता हो।
क्या शामिल है
हम कैसे काम करते हैं
स्वायत्त रोबोट: कमरे के नक्शे और बाधा-निवारण के साथ रोबोट वैक्यूम की प्रोग्रामिंग — ख़ुद चलता है, बिना हाथ लगाए।
सवाल और जवाब
तैयार या अपना?+
रोबोट वैक्यूम की प्रोग्रामिंग — ROS2 पर DIY भी, और तैयार उपकरणों का सुधार भी (Roomba Open Interface, Valetudo के ज़रिए Xiaomi)।
किस पर बनाते हैं?+
रोबोट वैक्यूम की प्रोग्रामिंग Raspberry Pi, Jetson, ESP32 पर और SLAM के लिए LIDAR के साथ।