vio_data_simulation icon indicating copy to clipboard operation
vio_data_simulation copied to clipboard

不同计算方法的误差

Open shenglunch opened this issue 5 years ago • 3 comments

贺博您好,我试着使用欧拉法,中值积分和龙格库塔法(msckf-vio)进行计算,发现使用龙格库塔法没能提升精度,这不符合我之前了解的一些结论,请问是怎么回事?

下图是不同方法的误差,计算方法是err=gt位移-计算位移,再计算err的二范数。请问这种计算方式合适么? mid是中值积分,runge是龙格库塔,rungem是将龙格库塔法中角速度替换为中值,euler是欧拉法。 error

shenglunch avatar Dec 20 '19 06:12 shenglunch

误差计算没有问题。你可以把 imu 频率降低一点如 100,50,10 hz,让问题突出一点再对比下精度下。看看是不是你实现的不对。

HeYijia avatar Dec 21 '19 09:12 HeYijia

我试了100和20hz,runge的误差依然比中值积分要大,可能要找找bug,谢谢贺博。

shenglunch avatar Dec 24 '19 09:12 shenglunch

这是合成的数据还是真实imu录制的数据,我测试真实数据20s偏了20多m,这个图看上去就1m的误差。

Zoltan3057 avatar Jun 28 '22 05:06 Zoltan3057