ความแม่นยำของเครื่องวัดความเร่งของ Android (การนำทางเฉื่อย)


109

ฉันกำลังมองหาการใช้งานระบบนำทางเฉื่อยสำหรับโทรศัพท์ Android ซึ่งฉันรู้ว่าเป็นเรื่องยากเนื่องจากความแม่นยำของมาตรความเร่งและการอ่านค่าคงที่

เริ่มต้นด้วยการตั้งค่าโทรศัพท์บนพื้นผิวเรียบและสุ่มตัวอย่างค่าการอ่านค่าความเร่ง 1,000 ตัวในทิศทาง X และ Y (ขนานไปกับโต๊ะดังนั้นจึงไม่มีแรงโน้มถ่วงกระทำในทิศทางเหล่านี้) จากนั้นฉันจึงหาค่าเฉลี่ยการอ่านเหล่านี้และใช้ค่านี้เพื่อปรับเทียบโทรศัพท์ (ลบค่านี้ออกจากการอ่านแต่ละครั้งในภายหลัง)

จากนั้นฉันทดสอบระบบโดยวางไว้บนโต๊ะอีกครั้งและสุ่มตัวอย่างการอ่านค่ามาตรความเร่ง 5,000 ตัวในทิศทาง X และ Y ฉันคาดหวังจากการสอบเทียบว่าการเร่งความเร็วเหล่านี้ควรเพิ่มได้ถึง 0 (โดยประมาณ) ในแต่ละทิศทาง อย่างไรก็ตามนี่ไม่ใช่กรณีนี้และความเร่งรวมที่มากกว่า 5,000 การวนซ้ำจะไม่มีค่าใกล้ 0 เลย (เฉลี่ยประมาณ 10 ในแต่ละแกน)

ฉันตระหนักได้โดยไม่ต้องเห็นรหัสของฉันสิ่งนี้อาจตอบยาก แต่โดยทั่วไปแล้ว ...

นี่เป็นเพียงตัวอย่างของการอ่านค่าความเร่งที่ไม่ถูกต้องบนโทรศัพท์มือถือ (HTC Desire S) หรือเป็นไปได้มากกว่าที่ฉันจะทำผิดพลาดในการเข้ารหัส


1
webvr-polyfill เป็นแหล่งที่มาของแรงบันดาลใจที่ดี: github.com/borismus/webvr-polyfill/tree/master/srcดูว่าพวกเขาเติมเซ็นเซอร์ VR โดยใช้ข้อมูล accelerometer อย่างไร: github.com/borismus/webvr-polyfill/blob/master / src / …
SC

คำถามที่พิจารณาไจโรสโคปด้วย: stackoverflow.com/questions/8264518/…
Ciro Santilli 郝海东冠状病六四事件法轮功

คำตอบ:


128

คุณได้ตำแหน่งโดยการรวมการเร่งเชิงเส้นสองครั้ง แต่ข้อผิดพลาดนั้นแย่มาก มันไม่มีประโยชน์ในทางปฏิบัติ

นี่คือคำอธิบายว่าทำไม (Google Tech Talk)เวลา23:20 น . ฉันขอแนะนำวิดีโอนี้

ไม่ใช่เสียงของมาตรวัดความเร่งที่ทำให้เกิดปัญหา แต่เป็นสัญญาณรบกวนสีขาวไจโรดูหัวข้อย่อย 6.2.3 การแพร่กระจายข้อผิดพลาด (อย่างไรก็ตามคุณจะต้องใช้ลูกข่างด้วย)

สำหรับการวางตำแหน่งในร่มฉันพบว่ามีประโยชน์เหล่านี้:

การแปลและการติดตามในร่มที่ใช้ RSSI โดยใช้ Sigma-Point Kalman Smoothers

การติดตามคนเดินด้วยเซนเซอร์เฉื่อยที่ติดตั้งกับรองเท้า

การเพิ่มประสิทธิภาพของ Pedometers โดยใช้ Accelerometer เดี่ยว

ฉันไม่รู้ว่าวิธีการเหล่านี้จะทำงานอย่างไรในแอปพลิเคชันในชีวิตจริงหรือจะเปลี่ยนเป็นแอป Android ที่ดีได้อย่างไร

คำถามที่คล้ายกันคือนี้

อัพเดท:

เห็นได้ชัดว่ามีเวอร์ชันที่ใหม่กว่า Oliver J. Woodman "บทนำสู่การนำทางเฉื่อย" วิทยานิพนธ์ปริญญาเอกของเขา:

การแปลภาษาสำหรับคนเดินเท้าสำหรับสภาพแวดล้อมภายในอาคาร


2
ฉันรู้ว่านี่เป็นเวลานานแล้ว แต่ฉันมีคำถามตามมา กล้องใน Android JB มีคุณสมบัติ "พาโนรามา" ซึ่งช่วยให้คุณถ่ายภาพพาโนรามาได้โดยการเลื่อนโทรศัพท์หมุนหรือเคลื่อนไปตามแนวแกนเดียว ในการทำเช่นนี้จะต้องติดตามตำแหน่งของโทรศัพท์ที่ค่อนข้างแม่นยำ - อย่างน้อยดีกว่าข้อผิดพลาด 20cm / s ที่กล่าวถึงในวิดีโอลิงก์คำตอบนี้ มันทำได้อย่างไร? มีวิธีการปรับปรุงคุณภาพของการติดตามเฉื่อยหรือไม่? หรือใช้การประมวลผลภาพที่ชาญฉลาดโดยใช้กล้องเพียงอย่างเดียว?
ทอม

1
@ ทอมฉันเชื่อว่าอย่างหลังโทรศัพท์เชื่อมต่อรูปภาพเข้าด้วยกันโดยอัลกอริธึมการประมวลผลภาพเท่านั้น อะไรทำให้คุณคิดว่าโทรศัพท์ต้องติดตามตำแหน่งในการสร้างภาพพาโนรามา เป็นไปได้ที่จะทำด้วยกล้องธรรมดาในยุค 90 และเห็นได้ชัดว่าเราไม่มีเครื่องวัดความเร่งในกล้องในตอนนั้น :) แน่นอนว่าภาพนั้นเชื่อมต่อกันบนพีซีทั่วไป แต่คุณไม่ต้องการตำแหน่งสำหรับสิ่งนี้อัลกอริทึมการประมวลผลภาพก็เพียงพอแล้ว หวังว่านี่จะช่วยได้
อาลี

มันค่อนข้างแตกต่างจากงานเก่าที่ถ่ายด้วยตนเองแล้วต่อภาพภายหลัง มันติดตามตำแหน่งแบบเรียลไทม์อย่างใด เป็นเรื่องยากเล็กน้อยที่จะอธิบายโดยไม่ต้องแสดงให้เห็น คุณไม่จำเป็นต้องถ่ายภาพด้วยตนเอง - โทรศัพท์จะตัดสินใจเมื่อคุณเคลื่อนไปไกลพอที่จะถ่ายอีกอันหนึ่ง ในขณะที่คุณกำลังถ่ายภาพมันจะแสดงแถบเล็ก ๆ ที่ด้านล่างพร้อมกับตัวอย่างภาพพาโนรามา หากคุณเล็งกล้องลงไปไกลเกินไป (เช่น) กล้องจะเริ่มส่งเสียงบี๊บและแสดงลูกศรขึ้นเพื่อบอกว่าคุณต้องเลื่อนกล้องกลับขึ้นไป
ทอม

2
จริงๆแล้วดูเหมือนว่าจะใช้การประมวลผลภาพ - การเริ่มถ่ายภาพพาโนรามาจากนั้นโบกมือไปข้างหน้ากล้องจะทำให้ระบบติดตามตำแหน่งของมันสับสนมากทีเดียว!
ทอม

@ ทอมโอเค. ฉันคิดว่ามันใช้การประมวลผลภาพเป็นหลัก (ตามที่ความคิดเห็นล่าสุดของคุณแนะนำเช่นกัน) แต่น่าจะรวมกับการติดตามการวางแนว (แต่ไม่ใช่ตำแหน่ง)
Ali

19

ฉันแค่คิดออกมาดัง ๆ และฉันยังไม่ได้เล่นกับ Android accelerometer API ดังนั้นอดทนกับฉัน

ก่อนอื่นตามเนื้อผ้าในการรับการนำทางจากเครื่องวัดความเร่งคุณจะต้องมีเครื่องวัดความเร่งแบบ 6 แกน คุณต้องการการเร่งความเร็วใน X, Y และ Z แต่ยังต้องหมุน Xr, Yr และ Zr ด้วย หากไม่มีข้อมูลการหมุนคุณจะไม่มีข้อมูลเพียงพอที่จะสร้างเวกเตอร์เว้นแต่คุณจะถือว่าอุปกรณ์ไม่เคยเปลี่ยนทัศนคติของอุปกรณ์ซึ่งจะค่อนข้าง จำกัด ไม่มีใครอ่าน TOS อยู่แล้ว

โอ้คุณรู้ไหมว่า INS ล่องลอยไปกับการหมุนของโลกใช่ไหม? ก็มีเช่นกัน หนึ่งชั่วโมงต่อมาคุณกำลังปีนขึ้นไปบนความลาดชัน 15 °อย่างลึกลับ สมมติว่าคุณมี INS ที่สามารถรักษาตำแหน่งได้นานขนาดนั้นซึ่งโทรศัพท์ยังทำไม่ได้

วิธีที่ดีกว่าในการใช้เครื่องวัดความเร่งแม้จะมีเครื่องวัดความเร่งแบบ 3 แกนสำหรับการนำทางก็คือการเชื่อมต่อกับ GPS เพื่อปรับเทียบ INS ทุกครั้งที่ทำได้ ในกรณีที่ GPS สั้น INS ก็ชมเชยเป็นอย่างดี ทันใดนั้น GPS สามารถยิงคุณออกไป 3 ช่วงตึกเนื่องจากคุณเข้าใกล้ต้นไม้มากเกินไป INS ไม่ดี แต่อย่างน้อยมันก็รู้ว่าคุณไม่ได้โดนดาวตก

สิ่งที่คุณทำได้คือบันทึกข้อมูลมาตรความเร่งของโทรศัพท์และข้อมูลอื่น ๆ อีกมากมาย เช่นสัปดาห์ที่คุ้มค่า เปรียบเทียบกับข้อมูล GPS ที่ดี (ฉันหมายถึงดีจริงๆ) และใช้การสร้างข้อมูลเพื่อสร้างความสัมพันธ์ของแนวโน้มระหว่างข้อมูลมาตรความเร่งและข้อมูล GPS ที่รู้จัก (เคล็ดลับสำหรับมือโปร: คุณจะต้องตรวจสอบปูม GPS เป็นเวลาหลายวันด้วยรูปทรงเรขาคณิตที่ดีและดาวเทียมจำนวนมากบางวันคุณอาจมีดาวเทียมเพียง 4 ดวงและยังไม่เพียงพอ) สิ่งที่คุณอาจทำได้คือพบว่าเมื่อคน ๆ กำลังเดินโดยมีโทรศัพท์อยู่ในกระเป๋าเครื่องวัดความเร่งจะบันทึกรูปแบบที่เฉพาะเจาะจงมาก จากการสร้างข้อมูลคุณสร้างโปรไฟล์สำหรับอุปกรณ์นั้นกับผู้ใช้รายนั้นและความเร็วประเภทใดที่รูปแบบแสดงถึงเวลาที่มีข้อมูล GPS พร้อมด้วย คุณควรจะสามารถตรวจจับการเลี้ยวปีนบันไดนั่งลง (สอบเทียบเป็น 0 ความเร็ว! ) และงานอื่น ๆ อีกมากมาย วิธีการถือโทรศัพท์จะต้องถือว่าเป็นอินพุตข้อมูลที่แยกจากกันทั้งหมด ฉันได้กลิ่นของโครงข่ายประสาทเทียมที่ใช้ในการขุดข้อมูล สิ่งที่ตาบอดกับความหมายของอินพุตกล่าวอีกนัยหนึ่ง อัลกอริทึมจะมองหาแนวโน้มของรูปแบบเท่านั้นและไม่ได้ให้ความสำคัญกับการวัดค่า INS ที่แท้จริง สิ่งที่ควรรู้ก็คือhistorically, when this pattern occurs, the device is traveling and 2.72 m/s X, 0.17m/s Y, 0.01m/s Z, so the device must be doing that now.และมันจะเคลื่อนชิ้นส่วนไปข้างหน้าตามนั้น สิ่งสำคัญคือต้องตาบอดสนิทเพราะเพียงแค่วางโทรศัพท์ไว้ในกระเป๋าของคุณอาจวางไว้ในทิศทางใดแนวหนึ่งจาก 4 ทิศทางและ 8 ถ้าคุณเปลี่ยนกระเป๋า และมีหลายวิธีในการถือโทรศัพท์ของคุณเช่นกัน เรากำลังพูดถึงข้อมูลมากมายที่นี่

เห็นได้ชัดว่าคุณยังคงมีการล่องลอยอยู่มาก แต่ฉันคิดว่าคุณคงโชคดีกว่าด้วยวิธีนี้เพราะอุปกรณ์จะรู้ว่าคุณหยุดเดินเมื่อใดและการเลื่อนตำแหน่งจะไม่เป็นไปอย่างต่อเนื่อง มันรู้ว่าคุณกำลังยืนอยู่บนพื้นฐานของข้อมูลในอดีต ระบบ INS แบบดั้งเดิมไม่มีคุณสมบัตินี้ การล่องลอยจะมีผลต่อการวัดและสารประกอบในอนาคตทั้งหมดแบบเลขชี้กำลัง ความแม่นยำที่ผิดศีลธรรมหรือการมีการนำทางรองเพื่อตรวจสอบเป็นระยะ ๆ มีความสำคัญอย่างยิ่งกับ INS แบบดั้งเดิม

อุปกรณ์แต่ละชิ้นและแต่ละคนจะต้องมีโปรไฟล์ของตัวเอง เป็นข้อมูลจำนวนมากและการคำนวณจำนวนมาก ทุกคนเดินด้วยความเร็วที่แตกต่างกันโดยมีขั้นตอนที่แตกต่างกันและวางโทรศัพท์ไว้ในกระเป๋าที่แตกต่างกัน ฯลฯ แน่นอนว่าจะนำสิ่งนี้ไปใช้ในโลกแห่งความเป็นจริงได้นั้นจะต้องมีการจัดการด้านเซิร์ฟเวอร์

หากคุณใช้ GPS เป็นพื้นฐานเบื้องต้นส่วนหนึ่งของปัญหาคือ GPS มีแนวโน้มที่จะมีการโยกย้ายของตัวเองเมื่อเวลาผ่านไป แต่เป็นข้อผิดพลาดที่ไม่เกิดขึ้นตลอดเวลา นั่งเครื่องรับในตำแหน่งเดียวและบันทึกข้อมูล หากไม่มีการแก้ไข WAAS คุณสามารถรับการแก้ไขตำแหน่งโดยลอยไปในทิศทางสุ่ม 100 ฟุตรอบตัวคุณได้อย่างง่ายดาย ด้วย WAAS อาจถึง 6 ฟุต จริงๆแล้วคุณอาจโชคดีกว่ากับระบบ RTK แบบมิเตอร์ย่อยบนกระเป๋าเป้สะพายหลังเพื่อให้อัลกอริทึมของ ANN ลดลง

คุณจะยังคงมีการดริฟท์เชิงมุมด้วย INS โดยใช้วิธีของฉัน นี่คือปัญหา. แต่ถ้าคุณไปไกลเพื่อสร้าง ANN เพื่อเทข้อมูล GPS และ INS มูลค่ากว่าสัปดาห์ในหมู่ผู้ใช้ n และทำให้มันใช้งานได้จริงจนถึงตอนนี้คุณก็ไม่สนใจข้อมูลขนาดใหญ่ ลงไปตามเส้นทางนั้นต่อไปและใช้ข้อมูลมากขึ้นเพื่อช่วยแก้ไขปัญหาการเบี่ยงเบนเชิงมุม: ผู้คนเป็นสิ่งมีชีวิตที่มีนิสัย เราทำสิ่งเดียวกันหลายอย่างเช่นเดินบนทางเท้าผ่านประตูขึ้นบันไดและอย่าทำอะไรบ้าๆเช่นเดินข้ามทางด่วนผ่านกำแพงหรือนอกระเบียง

สมมติว่าคุณกำลังรับหน้าเว็บจากพี่ใหญ่และเริ่มจัดเก็บข้อมูลว่าผู้คนไปที่ใด คุณสามารถเริ่มทำแผนที่ในจุดที่คาดว่าจะมีคนเดิน เป็นการพนันที่ค่อนข้างมั่นใจว่าหากผู้ใช้เริ่มเดินขึ้นบันไดเธอจะอยู่ที่ฐานบันไดเดียวกับที่คนก่อนหน้าเธอเดินขึ้น หลังจากการทำซ้ำ 1,000 ครั้งและการปรับกำลังสองน้อยที่สุดฐานข้อมูลของคุณค่อนข้างรู้ว่าบันไดเหล่านั้นอยู่ที่ไหนด้วยความแม่นยำสูง ตอนนี้คุณสามารถแก้ไขการเบี่ยงเบนเชิงมุมและตำแหน่งได้เมื่อบุคคลนั้นเริ่มเดิน เมื่อเธอชนบันไดเหล่านั้นหรือเลี้ยวลงจากห้องโถงนั้นหรือเดินทางไปตามทางเท้าการล่องลอยใด ๆ สามารถแก้ไขได้ ฐานข้อมูลของคุณจะมีภาคส่วนที่ถ่วงน้ำหนักจากความเป็นไปได้ที่บุคคลจะเดินไปที่นั่นหรือผู้ใช้รายนี้เคยเดินไปที่นั่นในอดีต ฐานข้อมูลเชิงพื้นที่ได้รับการปรับให้เหมาะสมสำหรับสิ่งนี้โดยใช้divide and conquerเพื่อจัดสรรเฉพาะเซกเตอร์ที่มีความหมาย มันจะเหมือนกับโครงการ MIT เหล่านั้นที่หุ่นยนต์ติดตั้งเลเซอร์เริ่มต้นด้วยภาพสีดำและวาดภาพเขาวงกตในความทรงจำโดยการเลี้ยวทุกครั้งส่องสว่างว่าผนังทั้งหมดอยู่ที่ใด

พื้นที่ที่มีการจราจรหนาแน่นจะได้รับน้ำหนักที่สูงขึ้นและพื้นที่ที่ไม่มีใครเคยรับน้ำหนัก 0 พื้นที่จราจรที่สูงกว่าจะมีความละเอียดสูงกว่า โดยพื้นฐานแล้วคุณจะต้องลงเอยด้วยแผนที่ของทุกที่ที่ทุกคนเคยไปและใช้เป็นแบบจำลองการทำนาย

ฉันจะไม่แปลกใจเลยถ้าคุณสามารถระบุได้ว่าคนนั่งในโรงละครโดยใช้วิธีนี้ เมื่อมีผู้ใช้ไปที่โรงละครมากพอและมีความละเอียดเพียงพอคุณจะมีการแมปข้อมูลแต่ละแถวของโรงละครและความกว้างของแต่ละแถว ยิ่งมีคนเข้าชมสถานที่มากขึ้นความซื่อสัตย์ก็จะยิ่งสูงขึ้นซึ่งคุณสามารถคาดเดาได้ว่าบุคคลนั้นอยู่

นอกจากนี้ฉันขอแนะนำให้คุณสมัครรับข้อมูลนิตยสาร GPS World (ฟรี) หากคุณสนใจในการวิจัยในปัจจุบันเกี่ยวกับเรื่องประเภทนี้ ทุกเดือนฉันจะออกไปกับมัน


"จะผูกเข้ากับ GPS เพื่อปรับเทียบ INS ทุกครั้งที่ทำได้ในกรณีที่ GPS สั้นลง INS ก็ชมเชยอย่างดี" นี่คือสิ่งที่การกรอง Kalman มีไว้สำหรับอย่างที่ฉันเข้าใจ เป็นการรวมจุดแข็งของแต่ละวิธีเพื่อยกเลิกจุดอ่อนของอีกวิธีหนึ่ง
endolith

8

ฉันไม่แน่ใจว่าค่าชดเชยของคุณดีแค่ไหนเพราะคุณลืมใส่หน่วย ("ประมาณ 10 แกนในแต่ละแกน" ไม่ได้พูดอะไรมาก: P) ที่กล่าวว่ายังคงเป็นเพราะความไม่ถูกต้องในฮาร์ดแวร์

เครื่องวัดความเร่งใช้ได้ดีสำหรับสิ่งต่างๆเช่นการกำหนดทิศทางของโทรศัพท์ที่สัมพันธ์กับแรงโน้มถ่วงหรือการตรวจจับท่าทาง (เขย่าหรือกระแทกโทรศัพท์ ฯลฯ )

อย่างไรก็ตามการพยายามคำนวณค่าความตายโดยใช้มาตรความเร่งจะทำให้คุณมีข้อผิดพลาดมากมาย accelerometer จะต้องมีความแม่นยำอย่างไม่น่าเชื่อและนี่ไม่ใช่กรณีการใช้งานทั่วไปดังนั้นฉันจึงสงสัยว่าผู้ผลิตฮาร์ดแวร์กำลังปรับให้เหมาะสม


ขอบคุณสำหรับคำตอบ. accelerometers อ่านประมาณ -0.8 ms ^ -2 ทั้งบนแกน X และ Y เมื่อหยุดนิ่งฉันจึงใช้ค่านี้เป็นออฟเซ็ต สำหรับบิต "ประมาณ 10" ฉันหมายความว่าการทำซ้ำมากกว่า 5,000 ครั้งการเพิ่มการเร่งแต่ละครั้งบนแกนเดียวจากเซ็นเซอร์ไม่ได้รวมประมาณ 0 ms ^ -2 (เช่นเดียวกับที่จะผันผวนอย่างเท่าเทียมกันทั้งด้านบนและด้านล่างของค่าชดเชย ค่า) แต่มีแนวโน้มที่จะบันทึกการเร่งความเร็วในทิศทางเดียวมากขึ้นซึ่งหลังจากการผสานรวมสองครั้งเพื่อค้นหาตำแหน่งทำงานเมื่อโทรศัพท์เคลื่อนที่ไปรอบ ๆ 3 เมตรในหนึ่งนาที
woodstock365

+1 สำหรับการใช้คำว่าการเดินเรือการบิน "การคำนวณความตาย" แม้ว่าการคำนวณแบบตายจะนำไปใช้กับการนำทางด้วยกล้องได้ดีกว่า INS
RyanJMcGowan

7

เครื่องวัดความเร่งของ Android เป็นแบบดิจิตอลโดยจะสุ่มตัวอย่างการเร่งโดยใช้ "ที่เก็บข้อมูล" จำนวนเท่ากันสมมติว่ามีถัง 256 ถังและมาตรความเร่งสามารถตรวจจับได้ตั้งแต่ -2g ถึง + 2g ซึ่งหมายความว่าผลลัพธ์ของคุณจะถูกวัดปริมาณในรูปของ "ที่เก็บข้อมูล" เหล่านี้และจะกระโดดไปรอบ ๆ ชุดค่าต่างๆ

ในการปรับเทียบมาตรวัดความเร่งของ Android คุณต้องสุ่มตัวอย่างมากกว่า 1,000 จุดและค้นหา "โหมด" ที่ตัววัดความเร่งมีความผันผวน จากนั้นหาจำนวนจุดดิจิทัลตามความผันผวนของเอาต์พุตและใช้สำหรับการกรองของคุณ

ฉันขอแนะนำให้ Kalman กรองเมื่อคุณได้รับโหมดและความผันผวน +/-


1
ฉันกำลังมองหาวิธีการสอบเทียบ ดูเหมือนว่าคำแนะนำของคุณคือสิ่งที่ฉันต้องการ ฉันแค่ต้องยืนยัน พอเจอโหมดบอกว่าเป็น 0.5 ฉันไม่ได้รับข้อความ "จากนั้นหาจำนวนจุดดิจิทัลโดยดูว่าผลลัพธ์มีความผันผวนมากน้อยเพียงใดและใช้จุดนั้นสำหรับการกรองของคุณ" คุณช่วยอธิบายเพิ่มเติมได้ไหม
Nazerke

1
สมมติว่า accelerometer ของคุณมีจุดเอาต์พุต 256 จุดและผันผวน 0.015m / s ^ 2 ระหว่างการอ่าน เมื่อคุณวางอุปกรณ์บนโต๊ะเอาต์พุตของคุณอาจมีความผันผวนเป็นทวีคูณ 0.015m / s ^ 2 สมมติว่าคุณได้ค่า 0 +/- (X * 0.015) คุณต้องหา X (ซึ่งจะเป็นเลขคู่) ตัวอย่างเช่น X ของฉันอาจเป็น 3 ในกรณีนี้ฉันจะเพิกเฉยต่อการเปลี่ยนแปลงการอ่านค่าความเร่งที่น้อยกว่า 0.045 m / s ^ 2
Alex Stone

ดังนั้นเครื่องวัดความเร่งของโทรศัพท์ Android ยังไม่ดีเท่าไหร่ .. ถูกต้องหรือไม่?
Techsin

4

ฉันรู้ว่านี่ค่อนข้างเก่า แต่ปัญหาในมือไม่ได้รับการแก้ไขในคำตอบใด ๆ ที่ได้รับ

สิ่งที่คุณเห็นคือความเร่งเชิงเส้นของอุปกรณ์รวมถึงผลของแรงโน้มถ่วง หากคุณวางโทรศัพท์บนพื้นผิวเรียบเซ็นเซอร์จะรายงานการเร่งความเร็วเนื่องจากแรงโน้มถ่วงซึ่งมีค่าประมาณ9.80665 m/s2ดังนั้นจึงให้ 10 ที่คุณเห็น เซ็นเซอร์ไม่แม่นยำ แต่ก็ไม่ได้ว่าไม่ถูกต้อง! ดูที่นี่สำหรับการเชื่อมโยงที่มีประโยชน์บางและข้อมูลเกี่ยวกับเซ็นเซอร์ที่คุณอาจจะเป็นหลังจากที่


17
ไม่ - ฉันคิดว่าคุณอ่านคำถามผิด: "... การอ่านในทิศทาง X และ Y (ขนานกับตารางดังนั้นจึงไม่มีแรงโน้มถ่วงกระทำในทิศทางเหล่านี้)" 9.8 / s2 จะอยู่บนแกน Z
กาน้ำชา 7

0

คุณกำลังตั้งสมมติฐานว่าการอ่านค่าความเร่งในทิศทาง X และ Y ซึ่งในกรณีนี้คือเสียงฮาร์ดแวร์ทั้งหมดจะก่อให้เกิดการแจกแจงปกติรอบ ๆ ค่าเฉลี่ยของคุณ เห็นได้ชัดว่าไม่เป็นเช่นนั้น

สิ่งหนึ่งที่คุณสามารถลองทำได้คือการพล็อตค่าเหล่านี้บนกราฟและดูว่ามีรูปแบบใดบ้าง หากไม่เช่นนั้นสัญญาณรบกวนจะเป็นแบบสุ่มทางสถิติและไม่สามารถปรับเทียบได้ - อย่างน้อยก็สำหรับฮาร์ดแวร์โทรศัพท์ของคุณโดยเฉพาะ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.