Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

अपने ब्राउज़र में पथ का अनुसरण करें

ऊपर दिए गए ब्राउज़र पैनल में Run दबाएँ। ग्रे संदर्भ पथ है; नीला रियर-एक्सल प्रक्षेप पथ है। वृत्त लुकअहेड दिखाता है, बिंदु लक्ष्य है, और खंड व्हीलबेस है। रन को प्ले, पॉज़, स्टेप या स्क्रब करके देखें कि स्टीयरिंग कहाँ से शुरू होती है। संख्यात्मक तालिका और डाउनलोड करने योग्य JSON में गणना किए गए परिणाम शामिल हैं।

PP: दूरी को स्थिर रखें

PP चयनित लुकअहेड Ld को तब भी स्थिर रखता है जब गति बदलती है। नॉमिनल वक्र चलाएँ, उसे A के रूप में सहेजें, फिर Short lookahead और Long lookahead आज़माएँ। स्टीयरिंग और पूर्णता की तुलना ट्रैकिंग त्रुटि के साथ करें।

नियंत्रक चयनकर्ता PP और APP के बीच स्विच करता है। स्थिर लुकअहेड केवल PP को प्रभावित करता है; समय और सीमाएँ केवल APP को प्रभावित करती हैं। किसी रन को A के रूप में सहेजें और पथ, प्रारंभिक स्थिति, गति कमांड और वाहन को बनाए रखने के लिए केवल नियंत्रक बदलें। प्रीसेट अन्य शर्तों को भी रीसेट कर देते हैं, इसलिए प्रदर्शित पैरामीटर के अंतरों की समीक्षा करें।

लक्ष्य ज्यामिति

निकटतम पथ प्रक्षेपण से शुरू करते हुए, रियर एक्सल के चारों ओर त्रिज्या-Ld वृत्त के साथ पथ के पहले आगे के आर्कलेंथ प्रतिच्छेदन को चुनें। वाहन फ़्रेम में लक्ष्य (xb, yb) के लिए, वक्रता κ = 2 yb / (xb² + yb²), फिर स्टीयरिंग δ = atan(L κ)। बायाँ धनात्मक है।

जब कोई प्रतिच्छेदन नहीं होता, तो प्रक्षेपण से पथ आर्कलेंथ में Ld को आगे बढ़ाएँ और अंतबिंदु पर क्लैंप करें। डिस्प्ले वृत्त, रिकवरी और अंतबिंदु लक्ष्यों के बीच अंतर करता है; वक्रता हमेशा वास्तविक वर्गित लक्ष्य दूरी का उपयोग करती है। पूरा होने से पहले वाहन के पीछे स्थित लक्ष्य, या उससे संपाती लक्ष्य, रन को एक कारण के साथ समाप्त कर देता है। ये रिकवरी और अंतबिंदु नियम शैक्षिक विकल्प हैं, Nav2 का पुनरुत्पादन नहीं।

साझा मॉडल और निष्पक्ष तुलना

स्टेट रियर-एक्सल (x, y) [मी], वामावर्त यॉ [रेड], और आगे की गति v [मी/से] है। समीकरण हैं dx/dt=v cos(yaw), dy/dt=v sin(yaw), dyaw/dt=v tan(δ)/L। प्रारंभिक पार्श्व ऑफसेट पहले खंड के बाईं ओर धनात्मक है; हेडिंग ऑफसेट उसी खंड के सापेक्ष है। पथ खुले पॉलीलाइन हैं: सीधी रेखा, त्रिज्या-20 मी और त्रिज्या-5 मी क्वार्टर-वृत्त, या एक S वक्र। डिफ़ॉल्ट अंतराल 0.1 मी है (S वक्र के लिए x में)।

समय चरण अधिकतम 30 सेकंड में 0.05 सेकंड है। सीमाएँ हैं 8 मी/से गति, ±2 मी/से² त्वरण, ±0.6 रेड स्टीयरिंग, 0.8 रेड/से स्टीयरिंग परिवर्तन। प्रारंभिक स्टीयरिंग शून्य है। प्रत्येक अंतराल एक असतत स्टीयरिंग स्लू सीमा लागू करता है और फिर स्टीयरिंग को स्थिर रखता है। स्थिर-वक्रता गति को सटीक रूप से समाकलित किया जाता है, जिसमें शून्य/अधिकतम गति तक त्वरण और उसके बाद स्थिर गति शामिल है। दोनों नियंत्रक a=2(vtarget−v) का उपयोग करते हैं। घर्षण, जड़त्व, टायर स्लिप, बाधाओं या मापन विलंब को मॉडल नहीं किया गया है।

क्रॉस-ट्रैक त्रुटि (CTE) निकटतम खंड से हस्ताक्षरित बाईं-अभिलंब विस्थापन है। हेडिंग त्रुटि वाहन यॉ माइनस प्रक्षेपित स्पर्शरेखा है, जिसे [-π,π) में रैप किया गया है। RMS वर्गित नमूनों के ट्रैपेज़ॉइडल समय समाकलन को व्यतीत समय से विभाजित करके प्राप्त होता है। अनुदैर्ध्य अंतबिंदु ओवरशूट को CTE से बाहर रखा गया है लेकिन यूक्लिडियन पथ दूरी में शामिल किया गया है। स्टीयरिंग-दर RMS में शून्य से प्रारंभिक संक्रमण शामिल है और यह असतत कमांड का वर्णन करता है।

पूर्णता का अर्थ है कि शेष प्रक्षेपित आर्कलेंथ और अंतबिंदु दूरी दोनों ≤0.25 मी हों, और हेडिंग अंतिम खंड के 0.15 रेड के भीतर हो। यह सैंपल की गई अंतबिंदु पारगमन है, रुकना या पार्किंग नहीं; नमूनों के बीच की पारगमन छूट सकती है। 10 मी से अधिक दूरी रन को ऑफ-पाथ के रूप में समाप्त कर देती है; 30 सेकंड समय सीमा है। अधूरी पारगमन का समय "—" है। आंशिक रन और भिन्न व्यतीत समय को केवल त्रुटि के आधार पर रैंक नहीं किया जाना चाहिए। समान गति नीतियाँ फिर भी भिन्न पूर्णता समय दे सकती हैं। यह कृत्रिम मॉडल हार्डवेयर सुरक्षा या उच्च गति प्रदर्शन स्थापित नहीं करता।

पुनरुत्पादनीय कृत्रिम उदाहरण

ये मान उसी कोड से नेटिव Python द्वारा उत्पन्न किए गए थे। हल्के वक्र में प्रारंभिक और लक्ष्य गति 2 मी/से, प्रारंभिक पार्श्व ऑफसेट 1 मी, हेडिंग ऑफसेट शून्य, और व्हीलबेस 2.5 मी का उपयोग होता है।

सेटिंग स्थिति व्यतीत समय [से] CTE RMS [मी]
short controller_failed 1.80 0.72123
nominal completed 15.70 0.25996
long completed 15.50 0.37896

संदर्भ और संबंधित लैब

स्रोत डाउनलोड वैकल्पिक है। ब्राउज़र निष्पादन के लिए किसी स्थानीय Python इंस्टॉलेशन की आवश्यकता नहीं है। स्रोत + मॉडल नोट्स।

Related reading

प्रेडिक्टिव नियंत्रण और बाधाओं के बारे में पढ़ेंनियंत्रण अभियांत्रिकी परिचय: मॉडल प्रेडिक्टिव कंट्रोल — सीमाओं के भीतर कार्य करनाExplore another aspect of this fieldMPC Lab — क्षितिज और स्टीयरिंग सीमाओं के भीतर वक्रता अनुक्रम को पुनः हल करनाExplore another aspect of this fieldPath-tracking comparison Lab — समान परिस्थितियों में PP, APP, RPP, Stanley और MPC चलाएँ