BESTNET TECH BLOG
स्टार्ट न होने वाली W204 C63 AMG के उदाहरण से लोगों और AI के बीच काम का बँटवारा और कच्चे लॉग को शर्तों सहित सहेजने की संरचना
इंजन स्टार्ट नहीं होता। पहले, ठंडे इंजन को स्टार्ट करते ही कूलिंग फ़ैन तेज़ गति से चलने लगता था। ऐसे लक्षण सामने हों तो तुरंत कारण या बदलने वाला पुर्ज़ा जानने का मन करता है। इस बार हमारा विषय 2009 की Mercedes-Benz W204 C63 AMG है। डायग्नोसिस में AI को शामिल करते समय हमने सबसे पहले यह किया कि वाहन जो जानकारी लौटाता है, उसे उन शर्तों के साथ सहेजा जिनमें वह मिली।
इस श्रृंखला में हम वाहन पर पुष्टि की गई बातों और अभी पुष्टि न हुई बातों को अलग रखते हुए पूरी प्रक्रिया बताते हैं। अभी तक स्टार्ट न होने और फ़ैन की असामान्यता का कारण तय नहीं हुआ है। पहले सत्र की उपलब्धि यह रही कि अगले डायग्नोसिस के लिए मूल रिकॉर्ड बचा और जाँचने योग्य बिंदु स्पष्ट हुए।
OBD से क्या पढ़ा जा सकता है #
OBD का अर्थ On-Board Diagnostics है, यानी वाहन का स्व-निदान। वाहन की इलेक्ट्रॉनिक कंट्रोल यूनिट (ECU) से संवाद करके फ़ॉल्ट कोड, तापमान, इंजन गति आदि पढ़े जा सकते हैं। लेकिन मानक OBD जिन मदों को संभालता है और निर्माता-विशिष्ट डायग्नोस्टिक्स जिन मदों को संभालते हैं, उन्हें अलग रखना ज़रूरी है। फ़ॉल्ट कोड, मापे गए मान और वाहन जानकारी के लिए अलग-अलग रीड सेवाएँ होती हैं, और समर्थित दायरा भी हर वाहन में अलग होता है। (OBD Solutions: OBD सेवाएँ)
इस बार PC को वाहन से जोड़ने के लिए USB वाला OBDLink EX इस्तेमाल हुआ। जोड़ने के बाद हमने डिवाइस का मॉडल नाम और फ़र्मवेयर का उत्तर पढ़कर पुष्टि की कि यह वास्तव में OBDLink EX ही है।
लोगों और AI के बीच काम का बँटवारा #
| कौन | क्या किया |
|---|---|
| AI | सार्वजनिक दस्तावेज़ों की जाँच, संचार प्रोग्राम लिखना, लौटे हुए लॉग को व्यवस्थित करना |
| लोग | कनेक्टर लगाना, चाबी घुमाना, फ़ैन की आवाज़ और स्टार्टर की हरकत को देखना-सुनना |
AI कभी कार के सामने खड़ा नहीं था। डिवाइस द्वारा लौटाए गए मान और किसी व्यक्ति द्वारा देखे-सुने और बताए गए लक्षण, रिकॉर्ड में भी अलग-अलग रखे गए।
उदाहरण के लिए "चाबी ON, इंजन बंद" तापमान और इंजन गति पढ़ते समय एक महत्वपूर्ण शर्त है। हमने चाबी की स्थिति का अनुमान लगाकर संचार शुरू नहीं किया, बल्कि कार के पास मौजूद व्यक्ति की पुष्टि का इंतज़ार किया। अगर स्टार्ट करने के क्षण को मापा ही नहीं गया, तो इंजन बंद रहते लिए गए वोल्टेज को स्टार्टिंग वोल्टेज की तरह इस्तेमाल नहीं किया जा सकता। शर्तों का ऐसा अंतर ही बाद की व्याख्या तय करता है।
पहली बार किस दायरे तक डेटा लेना है, यह तय करना #
प्रोग्राम का दायरा भी पहले से तय किया गया। पहली बार केवल एडाप्टर की पहचान और वोल्टेज की जाँच, फिर मानक OBD पढ़ना शामिल था, और कोई फ़ॉल्ट कोड मिटाया नहीं गया। ECU रीसेट, एक्चुएटर टेस्ट, कोडिंग या फ़्लैश राइट भी नहीं किया गया। फ़ॉल्ट की जाँच के लिए नीति यह थी कि पहले मिटाने से पहले वाले उत्तर सहेजे जाएँ।
"पढ़ना" शब्द के साथ सावधानी चाहिए। इस मानक OBD रीड में हमने वाहन को अनुरोध फ़्रेम भेजे और उसके उत्तर प्राप्त किए। यह बिना कुछ भेजे CAN ट्रैफ़िक को निष्क्रिय रूप से देखने से अलग प्रक्रिया है।
OBDLink के आधिकारिक मैनुअल में भी एडाप्टर के लिए कमांड और वाहन को भेजे जाने वाले OBD अनुरोध अलग-अलग रखे गए हैं। कार्यान्वयन में केवल अनुमति-सूची वाले अनुरोध भेजने की व्यवस्था बनाई गई। (OBDLink आधिकारिक प्रोग्रामिंग मैनुअल)
कच्चे लॉग और परिणाम सहेजना #
हमने केवल पढ़ने में आसान बनाए गए अंक नहीं सहेजे। भेजे गए कमांड, प्राप्त स्ट्रिंग और मूल बाइट्स, समय, डिवाइस और चाबी की स्थिति रखी गई, और उसके बाद डिकोड किए गए परिणाम अलग से बनाए गए। इससे बाद में डिकोडिंग सुधारने पर भी कैप्चर के समय के मूल रिकॉर्ड पर लौटकर जाँच की जा सकती है। स्क्रीन पर "कूलेंट 21 ℃" दिखाना और उस मान तक पहुँचाने वाले उत्तर को सहेजना, दोनों की अपनी-अपनी भूमिका है।
हमने यह भी तय किया कि जिन मदों का उत्तर नहीं मिला, उन्हें सामान्य दिखने वाले मानों से नहीं भरा जाएगा।
| स्थिति | अर्थ |
|---|---|
| शून्य | पूछताछ का सामान्य उत्तर मिला और कोई मेल नहीं था |
| प्राप्त नहीं | उत्तर नहीं मिला। इसे न शून्य कहा जा सकता है, न खराबी |
| संचार विफल | संचार ही स्थापित नहीं हुआ |
आंशिक रूप से प्राप्त उत्तर को पूरी सूची मानने से भी हम बचते हैं। विश्लेषण जितना अधिक AI को सौंपा जाए, इन स्थितियों को अलग रखने वाले रिकॉर्ड की उतनी ही अधिक ज़रूरत होती है।
पहले परिणाम और अगला माप #
पहले छोटे कैप्चर में मानक OBD ने सामान्य उत्तर दिया और कूलेंट तापमान 21 ℃, इंजन गति 0 rpm आदि की पुष्टि हुई। जिस दायरे ने उत्तर दिया, उसमें संग्रहीत और लंबित फ़ॉल्ट कोड शून्य थे। दूसरी ओर, स्थायी फ़ॉल्ट कोड प्राप्त नहीं हुए। केवल मानक OBD के परिणामों से यह तय नहीं किया जा सकता कि स्टार्ट की अनुमति, लाइटिंग आदि समेत पूरा वाहन ठीक है या नहीं।
एडाप्टर ने चाबी OFF पर 11.9 V और चाबी ON पर 11.6 V पढ़ा। ये OBD कनेक्टर वाली तरफ़ के मान हैं। बैटरी टर्मिनल पर माप या स्टार्टर चलते समय का वोल्टेज नहीं लिया गया। ये आगे बिजली आपूर्ति की जाँच के लिए सामग्री तो हैं, लेकिन केवल इनसे बैटरी की आयु या उसे बदलने की ज़रूरत तय करने का चरण नहीं है।
बताए गए लक्षणों में भी बदलाव आया। इस बार चाबी ON करने पर फ़ैन तेज़ नहीं चला, और स्टार्ट करने की कोशिश पर बताया गया कि स्टार्टर क्षण भर के लिए घूमा। पहले की "बिल्कुल कोई प्रतिक्रिया नहीं" वाली रिपोर्ट उस समय के इतिहास के रूप में रखी गई है। इंजन बंद अवस्था के इस अवलोकन से हमने यह भी नहीं माना कि ठंडे स्टार्ट के बाद वाली फ़ैन की समस्या दूर हो गई है।
इस बिंदु पर कार पर काम रोक दिया गया और तय हुआ कि बिजली आपूर्ति ठीक करने के बाद जाँच आगे बढ़ाई जाएगी। निर्माता-विशिष्ट डायग्नोस्टिक्स का प्रोग्राम भी तैयार किया गया, लेकिन सिम्युलेटेड उत्तरों वाले टेस्ट और वास्तविक कार पर कैप्चर अलग-अलग रखे गए हैं। प्रोग्राम का टेस्ट पास करना इस बात का प्रमाण नहीं है कि इस वाहन की हर कंट्रोल यूनिट से संचार हो सका।
AI से दस्तावेज़ व्यवस्थित करना, संचार प्रोसेसिंग लागू करना और लॉग की तुलना करना आसान हो जाता है। उन निर्णयों का आधार मौके पर पुष्टि की गई शर्तें और बिना प्रोसेस किए उत्तर हैं।
अगले भाग में हम देखेंगे कि पहला लॉग कैसे पढ़ा गया: उससे क्या पता चला और क्या अभी भी पता नहीं है।