主要看卡尔曼滤波的imu姿态解算
比较符合需求的博客:
关于ardupilot、px4固件ekf的错误与tslam-v12-tekf对它的改进 - 知乎
比较简单满足需求:
https://github.com/rsasaki0109/imu_estimator
GitHub - kekeliu-whu/imu_pose_estimator: IMU pose estimator implemented by EKF, ESKF and CF.
稍复杂但肯定能满足需求:
GitHub - PX4/PX4-ECL: Estimation & Control Library for Guidance, Navigation and Control Applications Using the ECL EKF | PX4 User Guide
https://github.com/ArduPilot/ardupilot/tree/master/libraries
2023.4.26
若觉得解算后效果不佳,一般不是解算算法引起的。首先应尝试物理减震方式去掉高频噪声,再使用数字滤波器进行滤波。如果你选择卡尔曼的话,在原始数据进卡尔曼预测函数之前,对加速度计 陀螺仪 都使用 fir或iir低通滤波器 滤一次。如果选择互补滤波,陀螺仪最好用带通滤波器。
MPU6050欧拉角卡尔曼滤波解算和DMP解算哪个方式数据更加精准? - 知乎
附录:
9轴imu姿态解算:
内参标定:
Project_rikirobot/src/rikirobot_project/imu_calib at master · Taospirit/Project_rikirobot · GitHub
方差和随机游走:imu_utils
2023.5.22更新:
以上内容都是基于EKF来做的,之前有mahony姿态结算,看到这篇解说的很通透,从而有些启发