การคำนวณบัญชีด้วย accelerometer & gyro ไปได้หรือไม่


11

ฉันมี accelerometer 3 แกนและไจโรสโคป 3 แกน ฉันได้รับมอบหมายให้พัฒนาระบบการคำนวณโดยใช้ฮาร์ดแวร์นี้

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

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

ฉันยังมีเสียงรบกวนจาก accelerometer และ gyro bias เพื่อการบัญชี

สามารถทำได้หรือไม่


2
สามารถทำได้ถึงความแม่นยำที่เซ็นเซอร์อนุญาต ข้อผิดพลาดของตำแหน่งจะสะสมเมื่อเวลาผ่านไป ความแม่นยำนั้นเพียงพอสำหรับโครงการของคุณหรือไม่
Wouter van Ooijen

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

ฉันมีคำพูดที่ยอดเยี่ยมจากลอร์ดเคลวินแขวนอยู่บนกำแพงสำนักงานของฉันมานานหลายสิบปี: "Quaternions มาจากแฮมิลตัน ... และเป็นความชั่วร้ายที่ไม่ปะปนกับผู้ที่ได้สัมผัสพวกเขาในทางใดทางหนึ่ง Vector เป็นความอยู่รอดที่ไร้ประโยชน์ ... และ ไม่เคยมีการใช้สิ่งมีชีวิตใด ๆ เลยแม้แต่น้อย "
Scott Seidman

@ScottSeidman Quaternions ไม่ได้เลวร้ายนักถ้าคุณคิดถึงพวกมันในแง่ของการหมุนรอบเวกเตอร์หน่วย จากนั้นคุณต้องตรีโกณมิติเพียงเล็กน้อยเพื่อแปลงเป็น / จากแบบฟอร์ม quaternion
JAB

@ JAB เห็นได้ชัดว่าพวกเขา (หรือวิธีการอื่น ๆ ) มีความจำเป็นเนื่องจากการหมุนไม่ได้ทำให้เกิดความแตกต่างที่น่าสนใจในวิชาคณิตศาสตร์
Scott Seidman

คำตอบ:


11

คำตอบและความคิดเห็นที่คุณได้รับนั้นยอดเยี่ยมแน่นอน แต่ฉันสามารถเพิ่มสีได้เล็กน้อย

สำหรับสิ่งที่มีค่าระบบเซ็นเซอร์ของเราใช้เครื่องมือเดียวกันมากและไม่ได้คำตอบที่ถูกต้องเสมอไป! เรามีเครื่องเร่งความเร็ว 3 มิติ (อวัยวะ otolith) และ 3D "ไจโร" (เชิงมุม velocitomers, คลองครึ่งวงกลม) และเรายังได้รับความทุกข์ทรมานจากภาพลวงตาทุกประเภทเมื่อระบบไม่สามารถรับ "คำตอบ" ที่ถูกต้องเช่นภาพลวงตาของลิฟต์ และภาพลวงตา oculogravic บ่อยครั้งที่ความล้มเหลวเหล่านี้เกิดขึ้นในระหว่างการเร่งความเร็วเชิงเส้นความถี่ต่ำซึ่งเป็นการยากที่จะแยกแยะจากแรงโน้มถ่วง มีช่วงเวลาที่นักบินจะดำดิ่งลงสู่มหาสมุทรในช่วงที่เครื่องบินพุ่งขึ้นอย่างรวดเร็วเนื่องจากการรับรู้ระดับเสียงที่รุนแรงซึ่งเป็นผลมาจากการเร่งความเร็วต่ำที่เกี่ยวข้องกับการยิงจนกระทั่งโปรโตคอลการฝึกอบรมสอนให้พวกเขาเพิกเฉยต่อการรับรู้เหล่านั้น

จริงอยู่แล้วเซ็นเซอร์ทางสรีรวิทยามีการตัดความถี่และชั้นเสียงที่แตกต่างจากเซ็นเซอร์ MEMS แต่เรายังมีโครงข่ายประสาทขนาดใหญ่ที่ถูกโยนลงไปที่ปัญหา - แม้ว่าจะมีแรงกดดันทางวิวัฒนาการน้อยมากที่จะแก้ปัญหาได้อย่างถูกต้องที่สุดขั้วความถี่ต่ำเหล่านี้ ตราบใดที่การยิงหนังสติ๊กนั้นหายาก ;-)

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

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

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


ขอบคุณสำหรับคำตอบที่ให้แสงสว่าง อย่างไรก็ตามมันทำให้ฉันสงสัยบางสิ่ง: 1) คุณหมายถึงอะไรโดยการเร่งความเร็วต่ำ? 2) หากปัญหาลดลงจากตำแหน่ง 3 มิติเป็นการกระจัดด้านข้าง (ละเว้น Z) นั่นง่ายกว่าไหม? และ 3) แล้วการเคลื่อนที่ช้าในน้ำทะเลจะลดผลกระทบของแรงโน้มถ่วงลงได้อย่างไร พอยน์เตอร์ใด ๆ สำหรับการอ่านเนื้อหาในการคำนวณเหล่านี้จะได้รับการชื่นชม
achennu

ที่จริงแล้วระบบนำทางอวกาศแบบเก่าจะมีความแม่นยำภายในไม่กี่ไมล์หลังจากบินนาน พวกเขาจะต้องแม่นยำอย่างยิ่ง (พวกเขาอาศัยอยู่ในกล่องที่ค่อนข้างใหญ่) เทคโนโลยีดังกล่าวได้รับการพัฒนาขึ้นในปี 1950 เพื่อเป็นแนวทางสำหรับ ICBM
Tuntable

9

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

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


แน่นอนว่าข้อผิดพลาดคือกำลังสองของระยะทาง / เวลา? ข้อผิดพลาดความเร็วจะเป็นเชิงเส้นดังนั้นการกระจัดสี่เหลี่ยม สิ่งที่น่าสนใจและไม่ได้กล่าวถึงก็คือเครื่องเร่งความเร็วราคาถูกนั้นดีแค่ไหน
Tuntable

@Tuntable หวังว่าคุณมี accelerometer ว่าจะไม่เลวร้ายว่าคุณมีหนึ่งอย่างมีนัยสำคัญเร่งคงชดเชย หากคุณมีอันที่ไม่ดีใช่แล้วคุณจะพบกับข้อผิดพลาดของสแควร์กับระยะทาง / เวลา
Horta

7

คุณจะมีอคติในการเร่งความเร็วและเสียงรบกวนในไจโรเพื่อจัดการเช่นกัน

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

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

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

อีกวิธีในการแก้ไขการลอยเชิงมุมคือการรวมเครื่องวัดสนามแม่เหล็กเพื่อวัดสนามแม่เหล็กของโลก Magnetometers มีข้อผิดพลาดที่ค่อนข้างใหญ่ แต่พวกเขาไม่ต้องทนทุกข์กับการดริฟท์ระยะยาว

การแก้ไขข้อผิดพลาดของตำแหน่งที่สร้างโดยส่วนประกอบดริฟท์ของการอ่านมาตรวัดความเร่งต้องใช้การอ้างอิงตำแหน่งแบบสัมบูรณ์ของบางประเภท โดยทั่วไปแล้วจะใช้ GPS (หากมี) แต่คุณสามารถใช้เซ็นเซอร์อื่น ๆ เช่น barometers (สำหรับระดับความสูง), odometers (ถ้าคุณมีล้อบนพื้นดิน), เซ็นเซอร์อัลตราโซนิคหรืออินฟราเรดหรือแม้กระทั่งเซ็นเซอร์รับภาพ

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


4

คำตอบสั้น ๆ คือ "ไม่ตรง" คำตอบที่ยาวคือคุณสามารถสร้างข้อความเช่น "จากการอ่านการวัดการหมุนวนของฉันฉันมั่นใจ 95% ว่าอุปกรณ์ได้รับการหมุนระหว่าง 28 องศาถึง 32 องศาตั้งแต่การอ่านครั้งล่าสุดของฉัน"

ปัญหาคือคุณท้ายรวบรวมข้อมูลเกี่ยวกับสมการเชิงอนุพันธ์ที่มีเสียงดัง สำหรับเครื่องวัดการหมุนวนเชิงมุมที่วัดความเร็วเชิงมุมคุณจะมีเสียงรบกวนต่าง eq

dθ(เสื้อ)dเสื้อ=R(เสื้อ)
และในกรณีของ accelerometer
d2พี(เสื้อ)dเสื้อ2=R(เสื้อ)
ที่ไหน R(เสื้อ) คือมูลค่าของเซ็นเซอร์ของคุณในเวลา เสื้อ.

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

หากคุณตัดสินใจที่จะติดตามถนนสายนี้คุณต้องตัดสินใจบางสิ่ง:

  • ข้อผิดพลาดในระดับที่ยอมรับได้คืออะไร? คุณต้องการที่จะมั่นใจ 95% ภายในหนึ่งองศาหลังจาก 2 วินาทีหรือคุณต้องการที่จะมั่นใจ 80% ว่าจะอยู่ใน 5 องศาหลังจาก 2 วินาทีหรือไม่

  • อ่านบางส่วนจากเครื่องวัดการหมุนวนของคุณ สิ่งนี้สามารถใช้ในการคำนวณการกระจายตัวเชิงประจักษ์ของเสียงซึ่งประมาณค่าเสียงจริง ใช้สิ่งนี้เพื่อแก้สมการเชิงอนุพันธ์ที่มีเสียงรบกวนและคำนวณช่วงความมั่นใจของคุณ

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

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


ปัญหาที่เกิดขึ้น (หรือหนึ่งปัญหา) อยู่ในที่ accelerometer มีความไวต่อมากขึ้นกว่า P (t) นอกจากนี้ยังมีความอ่อนไหวต่อการเปลี่ยนแปลงของทีต้ารอบ ๆ แกน
Scott Seidman

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