ฉันได้ลองอัลกอริธึมหลายอย่างเพื่อให้ได้พิตช์ม้วนและหันเหภายใต้การเร่งความเร็วเชิงเส้นและการสั่นสะเทือนอย่างต่อเนื่อง (เล็กกว่า 0.4g, ความถี่ต่ำกว่า 10HZ) ไม่มีใครให้ผลลัพธ์ที่ดีเพราะการอ่านอย่างใดอย่างหนึ่งลอยหรือได้รับผลกระทบมากเกินไปจากการเร่งเชิงเส้น สิ่งที่ฉันต้องการบรรลุคือเมื่อการเร่งความเร็วภายนอกมีขนาดเล็กกว่า + -0.4g ข้อผิดพลาดของระยะพิทซ์แอนด์โรลควรเล็กกว่า + -1deg
ฉันได้ลองอัลกอริทึมเหล่านี้แล้ว:
อัลกอริทึมของ Madgwick เมื่อการตั้งค่า Beta ได้สูงมากการลู่เข้าจะเร็ว แต่มุมจะไวต่อการเร่งความเร็วเชิงเส้นมากกว่า ฉันปรับมันลงและลดข้อผิดพลาดภายใต้การเร่งความเร็วเชิงเส้นลงไปที่ + -0.5deg อย่างไรก็ตามหากการสั่นสะเทือนเป็นแบบต่อเนื่องการอ่านจะดริฟท์และใช้เวลานานในการรวมกันเป็นค่าจริง มันสมเหตุสมผลเนื่องจากภายใต้การเร่งเชิงเส้นไจโรได้รับความเชื่อถือมากขึ้น
ขั้นตอนวิธีของมาโฮนีย์ ในทางตรงกันข้ามกับของ Madgwick มันไม่ได้ลอยไปเลยไม่ว่าจะใช้ค่าใดสำหรับ Ki และ Kp อย่างไรก็ตามจะได้รับผลกระทบจากการเร่งความเร็วเชิงเส้นเสมอ (ข้อผิดพลาดใหญ่กว่า + -6deg)
กรองคาลมานแบบดั้งเดิม ใช้เวลามากมายในการปรับเวกเตอร์ R และ Q ขนาดใหญ่เหล่านั้น จนถึงตอนนี้ก็มีการแสดงเช่นเดียวกับมาโฮนีย์
ฉันใช้มีดโกน IMU ฉันรู้ว่ามีเซนเซอร์ราคาถูกมันเป็นไปไม่ได้ที่จะบรรลุผลเช่นเดียวกับคนนี้
มีตัวเลือกเพิ่มเติมสองสามอย่างเช่น UKF แต่เป็นความเจ็บปวดที่จะเข้าใจหรือนำไปใช้
ยินดีรับข้อเสนอแนะใด ๆ