स्टीयरिंग व्यवहार को आगे बढ़ाने में परिक्रमा से परहेज


9

मैं एक मिसाइल करता है पीछा ट्रैक करने के लिए (और कोशिश करते हैं और प्रभाव) ने अपने (स्थिर) लक्ष्य व्यवहार।

यह तब तक ठीक काम करता है जब तक कि आप मिसाइल लॉन्च करते समय स्टर्लिंग नहीं कर रहे हैं । यदि आप स्ट्रैफ़िंग कर रहे हैं, तो मिसाइल अपने लक्ष्य की परिक्रमा करती है।

यहाँ छवि विवरण दर्ज करें

मैंने इसे पहले लक्ष्य के लिए स्पर्शरेखा में तेजी से तय किया , पहले वेग के स्पर्शरेखा घटक को मार दिया, फिर लक्ष्य के लिए beelining।

यहाँ छवि विवरण दर्ज करें

इसलिए मैं vv में तेजी लाता हूं जब तक कि vT लगभग 0. है तब vN की दिशा में तेजी लाएं।

जबकि वह काम करता है, मैं एक और अधिक सुंदर समाधान की तलाश कर रहा हूं जहां मिसाइल पहले स्पर्शरेखा घटक को स्पष्ट रूप से मारने के बिना लक्ष्य को प्रभावित करने में सक्षम है ।


मुझे नहीं लगता कि आप यह बताए बिना कि आपके स्टीयरिंग एल्गोरिदम क्या है, इसका संतोषजनक जवाब मिल सकता है। मुझे पूरा यकीन है कि समस्या आपके उत्तराधिकार में निहित है।
सैम होसेवर

1
दरअसल, यह वह उत्तर था जिसका मैंने इस्तेमाल किया था
bobobobo

जवाबों:


5

ऐसा लगता है कि समस्या यह है कि मिसाइल केवल वर्तमान वेग के लिए बिना लक्ष्य के ही संकेत दे रही है। अपने प्रक्षेपास्त्र को एक अधिकतम कोण प्रदान करें जिसके द्वारा थ्रस्ट गति की रेखा से भटक सकता है।

प्रत्येक मार्गदर्शन पुनरावृत्ति पर आप गणना करते हैं कि यह लक्ष्य के लंबवत वेग है। यह पता लगाएं कि यह कितना इंजन होना चाहिए, यह इसके वेग के इस घटक को शून्य करने के लिए इंजन है और फिर इसे इस अधिकतम पर क्लिप करें कि यह इंजन को टिप दे सके।

यह उड़ान के पहले भाग के दौरान यह आंकड़ा # 2 में सीधी रेखा के दाईं ओर कुछ हद तक बढ़ने वाला है लेकिन जैसे ही यह उड़ान भरता है इंजन इस घटक को शून्य कर देगा और यह लक्ष्य के लिए सीधे शीर्ष तक पहुंच जाएगा।

ध्यान दें कि इस परिदृश्य में केवल एक फ्रेम होगा जिसमें इंजन में शून्य या अधिकतम के अलावा किसी भी चीज़ का विक्षेपण होता है। यदि आप एक चलते लक्ष्य को ट्रैक कर रहे थे, तो आप हर चक्र पर कम विक्षेपण प्राप्त कर सकते थे, क्योंकि लक्ष्य आगे बढ़ गया था।


4

हो सकता है कि यह आपके द्वारा दिए गए सुरुचिपूर्ण समाधान न हो, लेकिन मैंने पाया है कि अगर मैं मिसाइल को धीमा कर देता हूं, अगर यह चूक जा रहा है, तो यह लक्ष्य के करीब पहुंचता है, यह प्रभावी रूप से ट्रैक करता है और तेज होता है और लक्ष्य को मार सकता है। आप मिसाइल की मोड़ दर को बढ़ा सकते हैं, क्योंकि यह गति को कम करने के बजाय, करीब पहुंच जाती है, लेकिन इससे खिलाड़ियों को एक 'वाह मुझे यकीन है कि' मिस 'आश्चर्यचकित करने वाला था।

यह बहुत अच्छा नहीं लग सकता है, लेकिन यह निश्चित रूप से मिसाइलों को परिक्रमा करने से रोकता है, और दुश्मन के चक्र से मिसाइल को तब तक हिलाता है जब तक कि ईंधन बाहर नहीं निकलता।

यहां एक डेमो दिया गया है जिसे मैंने अपने कार्यान्वयन (तीसरी या आगे की मिसाइल को प्रदर्शित करता है, और फिर से 1:05 पर): http://www.youtube.com/watch?v=9uiGMC_nH2w

आप मिसाइल की सटीकता भी बढ़ा सकते हैं क्योंकि यह लक्ष्य के करीब पहुंचती है (क्योंकि इसमें लॉक करने के लिए एक निकट हस्ताक्षर है)। यह वीडियो में एक मिनट के बारे में भी दिखाया गया है। लाल सर्कल मिसाइल के वास्तविक लक्ष्य को दर्शाता है। यह इसे एक अराजक उड़ान पथ देता है जब एक लंबी दूरी पर होता है, और फिर इसे प्राप्त होने वाले करीब को सीधा कर देता है।

जैसा मैं कहता हूं, यह वह उत्तर नहीं हो सकता है जिसकी आप तलाश कर रहे हैं, लेकिन मुझे उम्मीद है कि अगर यह थोड़ा सा मदद करता है।


यह बहुत अच्छा है। मैं अधिकतम त्वरण के लिए जा रहा हूं, लेकिन मिसाइल के धीमे होने से एक साफ चाल है (और यदि आप उन्हें "मिसाइल मिसाइल" कहते हैं तो इसका इस्तेमाल किया जा सकता है?)
बोब्बोबो

4

सहज बोध

यहां एक तरीका है: आइए अपने आरेख को घुमाएं।

मूल समस्या चित्रण का एक रोटेशन

अब रॉकेट एक तोप का गोला है !

भौतिक विज्ञान

इसका एक निश्चित त्वरण है "नीचे की ओर" यानी वेक्टर से फायरिंग स्थान से अपने लक्ष्य तक लंबवत। मैंने इसे एक धराशायी हरी रेखा के रूप में ऊपर खींचा। आइए इसे संदर्भ क्षितिज कहते हैं । (ध्यान दें कि यह संदर्भ क्षितिज स्थिर है! रॉकेट को एक निश्चित स्थिति से एक लक्ष्य के रूप में एक निश्चित स्थिति से निकाल दिया गया था।)

हम जानते हैं ( विकिपीडिया से ) एक तोप के लिए बिना वायु प्रतिरोध के d = v^2 * sin(2 * theta) / g, जहां,

  • d क्षैतिज दूरी है (फायरिंग स्थान और लक्ष्य के बीच की दूरी)
  • v प्रोजेक्टाइल पर जिस गति से फायर किया गया था
  • thetaकोण जैसा कि क्षितिज है प्रक्षेप्य को निकाल दिया गया था ( संदर्भ क्षितिज से अग्नि दिशा वेक्टर का कोण )

समीकरण के लिए उलटफेर करने gदेता है g = v^2 * sin(2 * theta) / d

तोप के गोले के समीकरण में स्थिर g, गुरुत्वाकर्षण के कारण त्वरण है । हम रॉकेट प्रणोदन के कारण त्वरण का अर्थ ले सकते हैं । यह भी ठीक है - यह अभी भी एक निरंतर दिशा में एक निरंतर त्वरण है ।

अब क्या?

gजब आप रॉकेट फायर करते हैं तो उस समीकरण को चलाएं । यह आपको बताएगा कि लक्ष्य को हिट करने के लिए, संदर्भ क्षितिज की ओर लंबवत रूप से रॉकेट को कितना तेज करना है। चूंकि उस त्वरण की दिशा स्थिर है, एक कक्षा नहीं बनेगी।

बूम।


यह एक स्वच्छ दृष्टिकोण है। मुझे लगता है कि यह रॉकेट को एक चक्र का पता लगाने के लिए पैदा करने वाला है , आप एक वृत्त की परिक्रमा करने के लिए आवश्यक सेंट्रिपेटल बल की आपूर्ति कर रहे हैं जो लक्ष्य को प्रभावित करने के लिए होता है। मेरा मानना ​​है कि यह मारियो कार्ट में लाल गोले के लिए इस्तेमाल किया जाने वाला तरीका हो सकता है , क्योंकि मुझे हमेशा लगता था कि वे चाप को गोलाकार रूप से देते हैं
बॉबोबोब

यहां लागू बल सेंट्रिपेटल नहीं है। बल की दिशा संदर्भ क्षितिज के लंबवत है, जो लक्ष्य स्थिर होने पर परिवर्तित नहीं होती है। इसका मतलब है कि परिक्रमा व्यवहार नहीं हो सकता।
अंको

मैंने उत्तर को स्पष्ट करने के लिए संपादित किया है।
अंको

@ नोको: मुझे यकीन नहीं है कि यहां आपका गणित एक चलती लक्ष्य के लिए काम करता है, जैसा कि ओपीएस मामले के लिए ट्रिगर लगता है।
मूविंग डक

@ ठीक है कि आप सही तरीके से लक्ष्य निर्धारण के लिए काम करेंगे यदि वे पूर्वानुमान के अनुसार आगे बढ़ रहे हैं और आप भविष्यवाणी को लक्षित करते हैं। सवाल विशेष रूप से लक्ष्य का उल्लेख करता है, हालांकि, पहले वाक्य में स्थिर है।
एको
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.