2010-05-04 12 views
5

मुझे अपने आवेदन के लिए कंपास बनाने की आवश्यकता है।कम्पास सटीकता दुविधा

प्रलेखन इसे पढ़ने से लगता है कि ऐसा करने के दो उचित तरीके हैं:

  • Sensor.TYPE_ORIENTATION विधि: यह यह करने का आसान तरीका है। इसके साथ समस्या यह सटीक नहीं है। जब मैं स्नैप्टिक कम्पास के साथ अपने पढ़ने की तुलना करता हूं तो यह लगभग 10-15 डिग्री दूर है जो मेरे उद्देश्यों के लिए अस्वीकार्य है।
  • सेंसर.TYPE_ACCELEROMETER, सेंसर.TYPE_MAGNETIC_FIELD और getRotationMatrix() remapCoordinateSystem() और getOrientation() विधि के साथ संयोजन में: दस्तावेज़ीकरण कहता है कि यह "आमतौर पर अधिक सटीक" होता है। समस्या श्रोता के साथ पंजीकृत विलंब के बावजूद है जब डिवाइस फ्लैट सतह पर स्थिर होता है तब भी कंपास पागल हो जाता है।

इस समस्या को हल करने के लिए किसी भी सुझाव की सराहना की जाएगी।

उत्तर

8

ऐसा लगता है कि mob1lejunkie इस बाहर पहले से ही पता कर लिया है, लेकिन सिर्फ भविष्य में संदर्भ के लिए, मुझे उल्लेख है कि यहां मुद्दा यह है magnetic declination (चुंबकीय उत्तर और सही उत्तर के बीच अंतर) कर रही है। आप दुनिया के अपने हिस्से में अंतर के बारे में समझने के लिए an online model from NOAA आज़मा सकते हैं।

एंड्रॉइड में GeomagneticField नामक एक मॉडल शामिल है जिसका उपयोग अक्षांश, देशांतर और ऊंचाई के अनुमानित गिरावट की गणना करने के लिए किया जा सकता है। तो, मुझे विश्वास है कि आपको सही उत्तर की गणना करने के लिए क्या करना है, सेंसर से azimuth value पढ़ा गया है। TYPE_ORIENTATION और उसके बाद उस GeomagneticField.getDeclination() में जोड़ें।

+0

हां यह बिल्कुल मुद्दा था। – mob1lejunkie

1

यह फोन के लिए बने कॉम्पैक्ट भागों का नकारात्मक हिस्सा है। एक $ 5000 आईएमयू जिसे हम अभी उपयोग कर रहे हैं, में +/- 2 डिग्री की त्रुटि है और उस सीमा में यह पागल भी लगता है।

हस्तक्षेप, धातु सतहों से दूर कदम उठाने का प्रयास करें, और देखें कि यह सुधारता है या नहीं। यदि नहीं, तो मुझे बुरी खबर तोड़ने से नफरत है, लेकिन यह हार्डवेयर है।

क्या आपने इन्हें देखा है?

http://developer.android.com/reference/android/hardware/SensorManager.html

http://groups.google.com/group/android-developers/browse_thread/thread/bbb0e8b97c673cf9/5c16bc2e49f6e972?lnk=raot

+0

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

+0

उत्तर में जोड़े गए लिंक देखें। –

+0

स्नैप्टिक कम्पास सेटिंग्स में चारों ओर घूमने के बाद मैंने देखा कि यह सही उत्तर का उपयोग करता है जबकि मैं चुंबकीय उत्तर का उपयोग कर रहा था। अब जब भी मैं अपने उत्तर में सही उत्तर का उपयोग करता हूं और स्नैप्टिक कम्पास में एक ही पढ़ना होता है। बेशक पढ़ना सही नहीं है लेकिन यह नेक्सस वन हार्डवेयर के कारण मेरे कंपास कार्यान्वयन की गलती नहीं है। पिनाकेलर आपकी मदद के लिए धन्यवाद! – mob1lejunkie

संबंधित मुद्दे