针对机器人同时定位与地图构建(SLAM)问题,提出基于平方根容积卡尔曼滤波的SLAM算法.该算法主要特点是使用平方根容积卡尔曼滤波计算SLAM后验概率密度,以减小线性化误差,达到提高SLAM定位精度的目的.提出的算法通过传递平方根因子代替系统协方差矩阵,因而在计算中避免了耗费时间的Cholesky分解,提高了算法效率.实验部分使用扩展型卡尔曼滤波SLAM(EKF-SLAM)、无迹卡尔曼滤波SLAM(UKF-SLAM)和所提出的算法进行了对比.实验结果表明:较之EKF-SLAM,容积卡尔曼滤波的精度提高了1倍;相比UKF-SLAM,SCKF-SLAM节省1/4计算资源.
For simultaneous localization and mapping (SLAM) of robots, a new solution is proposed, named square-root cubature Kalman filter based SLAM algorithm (SCKF-SLAM). The main contribution of the proposed algorithm is that the SLAM posterior probability density is calculated by using the square root cubature Kalman filter in order to reduce lineariza- tion error and improve SLAM accuracy. Instead of covariance matrixes, square-root factors are used in the proposed SLAM algorithm to avoid the time-consuming Cholesky decompositions and improve the calculation efficiency. In experiments, the proposed algorithm is compared with extended Kalman filter SLAM (EKF-SLAM) and unscented Kalman filter SLAM (UKF-SLAM). The results show that compared with EKF-SLAM, precision of SCKF-SLAM is doubled, and compared with UKF-SLAM, SCKF-SLAM saves a quarter of computation resources.