前言
PSINS C++代码是基于Window下的C++开发的,需要将其移植到Linux平台下,介绍了在移植过程中涉及到的代码改动,以及效果测试。
C++代码链接
代码修改
框出来的部分是需要修改的地方。
做完如上修改之后,即可正常运行,如下所示:
效果测试
如下是前向滤波,后向滤波,正反向滤波的示意图,失锁时间大约250s,正反向滤波精度为1米左右,还是不错的。
下面测试杆臂估计,在这里设置了一个比较大的初始杆臂,10,20,30,实际杆臂三个轴都不到1米,可以大致看出杆臂估计的思路。
不进行杆臂估计,状态变量15维,观测变量6维,水平融合误差如下,可以看到,误差在20多米。
下面进行杆臂估计,状态变量18维,观测变量6维,结果如下:
估计的杆臂如下,可看到基本在真实值附近。
进行杆臂估计的水平融合误差如下,误差大约在1米以下,说明杆臂估计起到了作用。