ฉันแค่คิดออกมาดัง ๆ และฉันยังไม่ได้เล่นกับ 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 (ฟรี) หากคุณสนใจในการวิจัยในปัจจุบันเกี่ยวกับเรื่องประเภทนี้ ทุกเดือนฉันจะออกไปกับมัน