एक परियोजना के लिए मेरी टीम और मैं बिल्ट इन एक्सेलेरोमीटर और वाईआईमोशन प्लस जीरोस्कोप का उपयोग करके 3 डी स्पेस में एक वाइमोट ट्रैक करने की कोशिश कर रहा हूं।मैं वाईमोट के एक्सेलेरोमीटर का उपयोग करके गुरुत्वाकर्षण के लिए कैसे खाता करूं?
हम ओडीई (http://www.alglib.net/ पर पाए गए) का उपयोग करके घूर्णन और स्थिति को ट्रैक करने में सक्षम हैं, लेकिन हमने एक्सेलेरोमीटर से गुरुत्वाकर्षण घटक को हटाने में समस्या का सामना किया है।
हम Accelerometer gravity components जो सूत्र था (सी #/XNA में लागू)
private Vector3 RemoveGravityFactor(Vector3 accel)
{
float g = -1f;
float pitchAngle = (Rotation.Z);
float rollAngle = (Rotation.Y);
float yawAngle = (Rotation.X);
float x = (float)(g * Math.Sin(pitchAngle));
float y = (float)(-g * Math.Cos(pitchAngle) * Math.Sin(rollAngle));
float z = (float)(-g * Math.Cos(pitchAngle) * Math.Cos(rollAngle));
Vector3 offset = new Vector3(x, y, z);
accel = accel - offset;
return accel;
}
को देखा लेकिन यह सब पर काम नहीं करता। एक संदर्भ के रूप में, त्वरण सीधे एक्सेलेरोमीटर से होता है, और ओडीई के माध्यम से काम करने के बाद घूर्णन रेडियंस में मापा जाता है।
इसके अलावा, हमें यह समझने में समस्याएं आ रही हैं कि यह सूत्र कैसे काम करता है। इस तथ्य के कारण कि हमारी ट्रैकिंग सभी आयामों को ध्यान में रख रही है, यॉ को क्यों नहीं लिया जाता है?
किसी भी सलाह या मदद के लिए अग्रिम धन्यवाद।
संपादित करें:
अपनी टीम के साथियों और बॉस के साथ चर्चा के बाद, हम है कि इस सूत्र वास्तव में अगर हम एक्स, Y, और Z उपयोग कर रहे थे सही ढंग से काम करेगा खोजने के लिए आए हैं। हालांकि हम एक और स्टंप पर आए हैं।
हमारी समस्या यह है कि हम जो Wiimote लाइब्रेरी का उपयोग कर रहे हैं वह जीरोस्कोप आंदोलन के आधार पर रिश्तेदार घूर्णन मूल्यों का उपयोग कर रहा है। दूसरे शब्दों में, यदि बटन का सामना करना पड़ रहा है, तो वाइमोट को बाएं और दाएं घुमाएं और यदि बटन आपके सामने आ रहे हैं, तो यह वही है जब यह पूरे वाइमोट के घूर्णन होना चाहिए।
हमने पाया है कि यूलर कोण हमारा उत्तर हो सकता है, लेकिन हम अनिश्चित हैं कि उन्हें उचित तरीके से उपयोग कैसे करें। अगर इस नए विकास या किसी अन्य सुझाव पर कोई इनपुट है तो कृपया उन्हें दें।
क्या इसका मतलब यह है कि रिमोट विफल हो जाता है जब आप इसे उल्टा करते हैं? –
इसे शून्य गुरुत्वाकर्षण में कैलिब्रेटेड करने की आवश्यकता नहीं है। गुरुत्वाकर्षण 1 जी नीचे और बहुत अनुमानित है। ऐसा नहीं है कि आप इसके लिए क्षतिपूर्ति नहीं कर सकते हैं। –
@dan_waterworth: हाँ, गुरुत्वाकर्षण बहुत अनुमानित है; और हाँ, आप इसके लिए क्षतिपूर्ति कर सकते हैं। यह "एक्सेलेरोमीटर से गुरुत्वाकर्षण प्रभाव को हटाने" से अलग है। मुआवजा प्रभाव को नहीं हटाएगा; यह इसके लिए क्षतिपूर्ति करेगा, लेकिन हटाने और मुआवजे के बीच शामिल शुद्धता का एक अलग स्तर है। –