पथ-योजना: रास्ता चुनना
पथ-योजना (path planning) तय करती है कि रोबोट किस रास्ते से जाए। इसके लिए तीन चीज़ें चाहिए: नक्शा (चीज़ें कहाँ हैं), शुरू और लक्ष्य।
सरल नक्शा खानों की ग्रिड है। हर खाना खाली है या बाधा से बंद। योजनाकार शुरू से लक्ष्य तक खाली खानों की कड़ी ढूँढता है। एक आम तरीका ब्रेडथ-फ़र्स्ट सर्च है: वह पानी की लहरों की तरह एक-एक कदम फैलता है और कम से कम कदमों वाला रास्ता पाता है।
रास्तों की तुलना के लिए एक लागत होती है: कदम, दूरी या समय। नक्शा बदले (किसी ने सड़क पर डिब्बा रख दिया) तो रोबोट को दोबारा योजना बनानी पड़ती है। वैश्विक योजना पूरी यात्रा की होती है और स्थानीय योजना अचानक आई पास की बाधा से बचाती है।
गति-नियंत्रण: पहियों को योजना पर चलाना
गति-नियंत्रण (motion control) योजना को पहियों की चाल में बदलता है। ज़्यादातर छोटे रोबोट में दो चलाने वाले पहिए होते हैं (डिफ़रेंशियल ड्राइव):
- दोनों पहिए बराबर गति: रोबोट सीधा जाता है।
- बायाँ धीमा, दायाँ तेज़: रोबोट बाएँ मुड़ता है। दायाँ धीमा, बायाँ तेज़: दाएँ मुड़ता है।
- एक आगे, एक पीछे: रोबोट अपनी जगह पर घूमता है।
पहिये की गति PWM से तय होती है। खुला लूप (open-loop) सिर्फ़ आदेश भेजकर भरोसा करता है। बंद लूप (closed-loop) सेंसर (एनकोडर, लाइन सेंसर) से जाँचकर सुधारता है। पहिया फिसल सकता है, इसलिए बंद लूप ज़्यादा सही है।
काम के सूत्र: दूरी = गति × समय और पहिये के चक्कर = दूरी ÷ (π × पहिये का व्यास)।
लाइन-फ़ॉलोअर रोबोट
लाइन-फ़ॉलोअर रोबोट में फ़र्श की तरफ़ देखते दो (या ज़्यादा) इन्फ्रारेड सेंसर होते हैं। काली लाइन कम रोशनी लौटाती है और सफ़ेद फ़र्श ज़्यादा, इसलिए सेंसर दोनों को अलग पहचान लेता है।
सरल नियम: कोई सेंसर लाइन न देखे तो सीधा चलो। दायाँ सेंसर देखे, मतलब लाइन दाएँ खिसक रही है, तो दाएँ मुड़ो। बायाँ देखे तो बाएँ मुड़ो। यह चालू/बंद वाला नियम है।
बेहतर नियम अनुपाती नियंत्रण (proportional control) है: त्रुटि के हिसाब से मुड़ो। सुधार = K × त्रुटि। जितनी बड़ी त्रुटि, उतना बड़ा मोड़। तब रोबोट सहजता से चलता है।
सीमा: रोबोट सेंसर सेकंड में कुछ ही बार पढ़ता है। बहुत तेज़ चलें तो मुड़ने से पहले लाइन हाथ से निकल जाती है। गति घटाइए, सेंसर आगे लगाइए या पढ़ना तेज़ कीजिए।
करके देखिए: ट्रैक बनाइए
सफ़ेद काग़ज़ पर मार्कर से मोटी काली लाइन खींचिए। खिलौना गाड़ी उस पर रखकर हाथ से इस नियम से चलाइए: लाइन दाएँ उँगली के नीचे हो तो दाएँ मुड़ो। फिर चौखाने वाले काग़ज़ पर शुरू, लक्ष्य और दीवार बनाइए। दो रास्तों के कदम गिनकर सबसे छोटा चुनिए। 3D में खुला रास्ता खिसकाइए और कदमों की नई संख्या का अंदाज़ा लगाकर फिर पढ़िए।
मुख्य सूत्र और परिभाषाएँ
- दूरी = गति × समय
- पहिये के चक्कर = दूरी / (π × पहिये का व्यास)
- सीधा: बायाँ वेग = दायाँ वेग
- दाएँ मुड़ना: दायाँ पहिया बाएँ से धीमा
- अनुपाती नियंत्रण: सुधार = K × त्रुटि; बायाँ = आधार + सुधार, दायाँ = आधार − सुधार
हल किए गए उदाहरण
1. रोबोट 0.5 मी/से की गति से चलता है। 2 मी जाने में कितना समय लगेगा?
समय = दूरी / गति = 2 / 0.5 = 4 सेकंड।
2. पहिये का व्यास 6 सेमी है। 1.884 मी (188.4 सेमी) चलने में कितने चक्कर लगेंगे?
एक चक्कर = π × 6 = 18.84 सेमी। चक्कर = 188.4 / 18.84 = 10।
3. बिना बाधा की ग्रिड में शुरू कॉलम 0, पंक्ति 0 पर और लक्ष्य कॉलम 4, पंक्ति 3 पर है। ऊपर-नीचे-दाएँ-बाएँ चलकर कम से कम कितने कदम?
4 कदम आड़े और 3 कदम नीचे: 4 + 3 = 7 कदम।
4. लाइन-फ़ॉलोअर की आधार गति 60 है। लाइन दाएँ है, त्रुटि +0.5, K = 20। दोनों पहियों की गति निकालिए (धनात्मक त्रुटि = लाइन दाएँ)।
सुधार = 20 × 0.5 = 10। बायाँ = 60 + 10 = 70। दायाँ = 60 − 10 = 50। दायाँ पहिया धीमा है, इसलिए रोबोट दाएँ मुड़ता है।
5. 3D में खुला रास्ता सबसे निचली पंक्ति में है तो रास्ता 2 कदम नीचे, 6 आड़े और 2 ऊपर है। कुल कदम?
2 + 6 + 2 = 10 कदम।
आम गलतियाँ
- सोचना कि सीधा छोटा रास्ता हमेशा मिल जाएगा। बाधा हो तो लंबा रास्ता लेना पड़ता है।
- मुड़ने की दिशा गड़बड़ करना। दाएँ मुड़ने के लिए दायाँ पहिया धीमा होना चाहिए।
- गति जितनी हो सके उतनी रख देना। रोबोट देर से प्रतिक्रिया करता है और लाइन छोड़ देता है।
- एक बार योजना बनाकर फिर कभी न जाँचना। नक्शा बदले तो दोबारा योजना बनानी चाहिए, और सेंसर से चाल की पुष्टि करनी चाहिए।