आप फ़िल्टर को रद्द करने का प्रयास कर सकते हैं। यह अंतराल को दूर कर सकता है, लेकिन उच्च आवृत्ति शोर भी बढ़ाता है। ऐसा करने के बाद, आप शीर्षक के नए अनुमान के आधार पर रोबोट को नियंत्रित करने का प्रयास कर सकते हैं। ऐसा करने के लिए, आपको कम पास फिल्टर मापदंडों को काम करने के लिए प्रयोग करना होगा। उदाहरण के लिए, असतत समय में, आप पा सकते हैं:
θ (टी)टीθटी
θ^(t)=a0θ(t)+a1θ(t−1)+⋯+akθ(t−k)
जहां अनुमानित हेडिंग (कम्पास आउटपुट) है समय , समय पर वास्तविक शीर्षक (जमीनी सच्चाई) ।θ^(t)tθt
आप एक प्रयोग करके पैरामीटर पा सकते हैं जहां आप कुछ अन्य बाहरी साधनों का उपयोग करके जमीनी सच्चाई को मापते हैं। दिए गए नमूने, आपके पास यह समीकरण है:
n + कश्मीर + 1 [ θ ( कश्मीर ) ⋮ θ ( कश्मीर + n ) ] = [ θ ( कश्मीर ) θ ( कश्मीर - 1 ) ⋯ θ ( 0 ) ⋮ ⋮ain+k+1
⎡⎣⎢⎢⎢θ^(k)⋮θ^(k+n)⎤⎦⎥⎥⎥=⎡⎣⎢⎢θ(k)⋮θ(k+n)θ(k−1)⋮θ(k+n−1)⋯⋯θ(0)⋮θ(n)⎤⎦⎥⎥⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥
और आप यह पता लगाकर हल कर सकते हैं:
जहां का छद्म उलटा मैट्रिक्स है । करने का कोई निश्चित तरीका नहीं है , इसलिए आप शायद अनुमान लगा लेंगे। बोनस अंक के लिए, यह मानता है कि शोर श्वेत और स्वतंत्र है, लेकिन आप इसे पूर्वाग्रह हटाने के लिए पहले सफेद कर सकते हैं, और इसलिए मापदंडों के अपने अनुमान में सुधार कर सकते हैं।
⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢θ(k)⋮θ(k+n)θ(k−1)⋮θ(k+n−1)⋯⋯θ(0)⋮θ(n)⎤⎦⎥⎥+⎡⎣⎢⎢⎢θ^(k)⋮θ^(k+n)⎤⎦⎥⎥⎥
M+Mk
आप इसे एक ट्रांसफर फ़ंक्शन में बदल सकते हैं (इसे असतत समय डोमेन में जेड-ट्रांसफॉर्म के रूप में भी जाना जाता है):
Θ^(z)Θ(z)=a0+a1z−1+...+akz−k
इसे रद्द करने के लिए, हम उलटा ले सकते हैं (जहां हमारे शीर्षक का नया अनुमान है):θ¯(t)
Θ¯(z)Θ^(z)=1a0+a1z−1+⋯+akz−k
समय डोमेन पर वापस लौटना:
a0θ¯(t)+a1θ¯(t−1)+⋯+akθ¯(t−k)=θ^(t)
θ¯(t)=θ^(t)−a1θ¯(t−1)−⋯−akθ¯(t−k)a0
फिर हम रोबोट को नियंत्रित करने के लिए का उपयोग कर सकते हैं ।θ¯
यह बहुत शोर होगा, इसलिए आप अभी भी उपयोग से पहले कम-पास फिल्टर के माध्यम से डाल सकते हैं (हालांकि शायद कम अंतराल के साथ)।θ¯
उपरोक्त समाधान अभी भी सबसे अच्छा तरीका नहीं है। शोर का अनुमान बहुत उपयोगी नहीं हो सकता है। यदि हम इसे एक राज्य अंतरिक्ष समीकरण में डालते हैं, तो हम एक Kalman फ़िल्टर और LQR (रैखिक द्विघात नियामक) का उपयोग करके एक पूर्ण-राज्य प्रतिक्रिया नियंत्रक डिज़ाइन कर सकते हैं। एक Kalman फ़िल्टर और LQR नियंत्रक के संयोजन को एक LQG नियंत्रक (रैखिक द्विघात गाऊसी) के रूप में भी जाना जाता है, और एक अच्छा नियंत्रक पाने के लिए लूप-ट्रांसफर रिकवरी का उपयोग करें।
ऐसा करने के लिए, (असतत समय) राज्य-अंतरिक्ष समीकरणों के साथ आएं:
x⃗ (t)=Ax⃗ (t−1)+Bu⃗ (t−1) ,y⃗ (t)=Cx⃗ (t)
या:
x⃗ (t)=⎡⎣⎢⎢⎢⎢θ(t)θ(t−1)⋯θ(t−k)⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢A110⋮00A201⋮00⋯⋯⋯⋯⋯000⋮10000⋮01000⋮00⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥x⃗ (t−1)+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢B0B10⋮00⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥u⃗ (t−1)
y⃗ (t)=[θ^(t)]=⎡⎣⎢⎢⎢⎢a0a1⋮ak⎤⎦⎥⎥⎥⎥x⃗ (t)
जहां रोबोट को चालू करने के लिए मोटर्स में शक्ति का प्रतिनिधित्व करता है, और , , , स्थिति और गति के आधार पर हेडिंग को कितना प्रभावित करता है (आप गैर-शून्य मान चुन सकते हैं) मैट्रिक्स के अन्य तत्वों के लिए , और मैट्रिक्स की पहली पंक्ति भी)।u⃗ (t−1)A0A1B0B1BA
फिर, आप अपने पर्यवेक्षक ( फ़िल्टर) का निर्माण कर सकते हैं, प्रक्रिया के शोर और माप शोर के लिए और अनुमान । फिर कलमन फ़िल्टर ने शोर के बारे में उन धारणाओं को देखते हुए, शीर्षक का इष्टतम अनुमान प्राप्त कर सकते हैं। शोर अनुमानों को चुनने के बाद, कार्यान्वयन सिर्फ कलमन फ़िल्टर के लिए कोड लागू करने पर निर्भर करता है (समीकरण विकिपीडिया पर पाए जा सकते हैं, इसलिए मैं इसे यहाँ नहीं जाऊँगा)।QoRo
उसके बाद, आप एक LQR कंट्रोलर डिज़ाइन कर सकते हैं, इस बार, और , हेडिंग को विनियमित करने के लिए दिए गए भार का प्रतिनिधित्व करता है, और एक्ट्यूएटर्स के उपयोग को सीमित करने की कोशिश करता है। इस स्थिति में, आप और का । ऐसा इसलिए किया जाता है क्योंकि LQR एक लागत फ़ंक्शन को कम करने के लिए इष्टतम नियंत्रक पाता है:QcRcQc=⎡⎣⎢⎢⎢⎢10⋮000⋮000⋮0⋯⋯⋯00⋮0⎤⎦⎥⎥⎥⎥Rc=[1]J=∑(x⃗ TQx⃗ +u⃗ TRu⃗ )
फिर, आपने इसे असतत समय बीजीय ऋक्ति समीकरण के माध्यम से रखा:
P=Q+AT(P−PB(R+BTPB)−1BTP)A
और एक सकारात्मक निश्चित मैट्रिक्स लिए हल ।P
इस प्रकार, आपके नियंत्रण कानून द्वारा दिया जा सकता है:
u⃗ (t)=−K(x⃗ (t)−x⃗ ref(t))
जहाँK=(R+BTPB)−1(BTPA)
अंत में, बस ऐसा करने से काम नहीं चलेगा, और शोर के कारण अस्थिर होने की संभावना है। वास्तव में, इसका मतलब यह है कि विकल्प 1 शायद तब तक काम नहीं करेगा जब तक कि आप पहली एक कम-पास फिल्टर के माध्यम से नहीं डालते (यद्यपि इतने लंबे प्रभावी अंतराल समय के साथ जरूरी नहीं)। ऐसा इसलिए है क्योंकि LQR की गारंटी स्थिर है, जैसे ही आप एक कलमन फ़िल्टर का उपयोग करते हैं, गारंटी खो जाती है।θ¯
इसे ठीक करने के लिए, हम लूप ट्रांसफर रिकवरी तकनीक का उपयोग करते हैं, जहाँ आप फ़िल्टर को समायोजित करते हैं, और इसके बजाय एक नया , जहाँ आपकी मूल मैट्रिक्स है, जिसे ट्यून किया जाता है ताकि Kalman फ़िल्टर इष्टतम हो । कोई भी सकारात्मक निश्चित सममित मैट्रिक्स है, जिसे आप पहचान मैट्रिक्स ( ) के रूप में चुन सकते हैं । फिर, बस एक स्केलर । परिणामस्वरूप नियंत्रक रूप में (अधिक) स्थिर हो जाना चाहिए , हालांकि मैट्रिक्स डी-ट्यून हो जाता है, जिसका अर्थ है कि यह कम इष्टतम हो जाता है।क्यू 0 क्यू वी वी = मैं क्ष क्ष → ∞ क्यू ओQo=Q0+q2BVBTQ0QVV=Iqq→∞Qo
इसलिए, आप केवल बढ़ाते हैं जब तक कि यह स्थिर न हो। दूसरा तरीका जिसे आप इसे स्थिर बनाने का प्रयास कर सकते हैं, वह है LQR कंट्रोलर को धीमा करने के लिए (या ) ।आर सी क्यू सीqRcQc