อัลกอริทึม AHRS ภายใต้การเร่งความเร็วเชิงเส้นอย่างต่อเนื่อง


9

ฉันได้ลองอัลกอริธึมหลายอย่างเพื่อให้ได้พิตช์ม้วนและหันเหภายใต้การเร่งความเร็วเชิงเส้นและการสั่นสะเทือนอย่างต่อเนื่อง (เล็กกว่า 0.4g, ความถี่ต่ำกว่า 10HZ) ไม่มีใครให้ผลลัพธ์ที่ดีเพราะการอ่านอย่างใดอย่างหนึ่งลอยหรือได้รับผลกระทบมากเกินไปจากการเร่งเชิงเส้น สิ่งที่ฉันต้องการบรรลุคือเมื่อการเร่งความเร็วภายนอกมีขนาดเล็กกว่า + -0.4g ข้อผิดพลาดของระยะพิทซ์แอนด์โรลควรเล็กกว่า + -1deg

ฉันได้ลองอัลกอริทึมเหล่านี้แล้ว:

  1. อัลกอริทึมของ Madgwick เมื่อการตั้งค่า Beta ได้สูงมากการลู่เข้าจะเร็ว แต่มุมจะไวต่อการเร่งความเร็วเชิงเส้นมากกว่า ฉันปรับมันลงและลดข้อผิดพลาดภายใต้การเร่งความเร็วเชิงเส้นลงไปที่ + -0.5deg อย่างไรก็ตามหากการสั่นสะเทือนเป็นแบบต่อเนื่องการอ่านจะดริฟท์และใช้เวลานานในการรวมกันเป็นค่าจริง มันสมเหตุสมผลเนื่องจากภายใต้การเร่งเชิงเส้นไจโรได้รับความเชื่อถือมากขึ้น

  2. ขั้นตอนวิธีของมาโฮนีย์ ในทางตรงกันข้ามกับของ Madgwick มันไม่ได้ลอยไปเลยไม่ว่าจะใช้ค่าใดสำหรับ Ki และ Kp อย่างไรก็ตามจะได้รับผลกระทบจากการเร่งความเร็วเชิงเส้นเสมอ (ข้อผิดพลาดใหญ่กว่า + -6deg)

  3. กรองคาลมานแบบดั้งเดิม ใช้เวลามากมายในการปรับเวกเตอร์ R และ Q ขนาดใหญ่เหล่านั้น จนถึงตอนนี้ก็มีการแสดงเช่นเดียวกับมาโฮนีย์

ฉันใช้มีดโกน IMU ฉันรู้ว่ามีเซนเซอร์ราคาถูกมันเป็นไปไม่ได้ที่จะบรรลุผลเช่นเดียวกับคนนี้

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

ยินดีรับข้อเสนอแนะใด ๆ


คุณทำงานร่วมกับ Kalman อย่างไร
C. Towne Springer

ใช้การรวมออยเลอร์ แต่การหมุนเป็นหนึ่งแกนอย่างเคร่งครัดเพื่อหลีกเลี่ยง DCM @ C.TowneSpringer
Timtianyang

ที่ควรจะทำงานได้ดี? ครั้งล่าสุดที่ฉันทำเช่นนี้ (ALCM) ออยเลอร์ไม่เหมาะสม ออยเลอร์เป็นวิธีการสั่งซื้อครั้งแรกที่มีข้อผิดพลาดในท้องถิ่นเป็นสัดส่วนกับกำลังสองของขนาดขั้นตอนและข้อผิดพลาดรวมเป็นสัดส่วนกับขนาดขั้นตอน เราใช้ลำดับที่ 4 Runge-Kutta พร้อมตัวกรองคาลมาน ฉันคิดว่า Newton-Feynman หรือ Euler เพื่อเดาการเริ่มต้นเพื่อเริ่ม Runge-Kutta คุณมีการประมวลผลเพื่อจัดการกับมันในอัตราการอัพเดทที่ดีหรือไม่?
C. Towne Springer

ขอบคุณสำหรับคำแนะนำ ข้อผิดพลาดภายในของวิธีการรวมออยเลอร์ถูกมองข้าม เราวางแผนที่จะทำการกรองในโพสต์ดังนั้นเราจึงไม่มีข้อ จำกัด ที่สำคัญเกี่ยวกับความซับซ้อนในการคำนวณ @ C.TowneSpringer
Timtianyang

คำตอบ:


3

ประการแรกตรวจสอบให้แน่ใจว่าคุณเข้าใจประเด็นสำคัญสองประการที่นี่:

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

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

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

ดังนั้นมีสองสิ่งที่คุณสามารถทำได้

  1. ปรับปรุงความแม่นยำของการรวมไจโรของคุณ
  2. จำลองลักษณะของความเร่งเชิงเส้นอย่างใด

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

มีหลายสิ่งที่คุณสามารถทำได้เพื่อปรับปรุงการรวมไจโรของคุณ:

  1. ได้รับการประมาณการที่ดีที่สุดของไจโรอคติ ใช้การอ่านค่าไจโรแบบคงที่เป็นเวลาหลายวินาทีทันทีก่อนใช้งานและหาค่าเฉลี่ยเหล่านี้เพื่อรับค่าออฟเซ็ตของคุณ อย่าพึ่งพาการสอบเทียบก่อนหน้าแบบครั้งเดียว
  2. พยายามลดการลอยเนื่องจากอุณหภูมิ ปล่อยให้ IMU อุ่นเครื่องจนถึงอุณหภูมิคงที่ก่อนการปรับเทียบ / การใช้งาน พยายามเก็บไว้ที่อุณหภูมิคงที่ในระหว่างการดำเนินการ
  3. ปรับปรุงรูปแบบการสอบเทียบของคุณ พิจารณารวมถึงเอฟเฟกต์ของแกนไขว้และความไม่เป็นเชิงเส้นเช่นเดียวกับสเกลและออฟเซ็ต
  4. ใช้วิธีการรวมที่ดีขึ้น มีความคิดเห็นในความคิดเห็นเกี่ยวกับคำถามของคุณอยู่แล้ว
  5. ดูว่าคุณสามารถติดตามไจโรดริฟท์ได้หรือไม่ หากอัลกอริทึมการวางแนวจะต้องแก้ไขการเบี่ยงเบนอย่างต่อเนื่องในทิศทางที่เฉพาะเจาะจงสิ่งนี้สามารถตรวจพบและใช้เพื่อปรับค่าไบอัสอย่างนุ่มนวล

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


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