论文部分内容阅读
机器人在SLAM过程中探测完一些环境区域后,线段特征数据存取在内存中的顺序是混乱的,其如何快速的将内存中的数据还原成一幅准确的地图是SLAM问题的一个难点。针对上述问题,本文提出线段特征编码的方法解决,该方法根据线段的连通关系判断哪些线段属于同一障碍物,进而根据线段的邻近关系对各线段表中的线段进行标记和排序。该方法能有效缩短了SLAM过程中的建图时间。由于超声波传感器测量具有稀疏性的缺陷,本文采用直线多次测量模型实现了环境特征中点和线段类型的判别。在定位过程中将局部地图与全局地图线段特征进行多重匹配提高了地图的匹配速率和建图的准确性。EKF算法被许多学者应用到许多不同环境中的移动机器人SLAM中,但由于EKF计算的复杂性比较大难以满足机器人在大环境下建图的实时性。再者当EKF算法应用在较大的非线性系统中时很容易出现局部线性假设,如果忽略高阶项误差将有可能导致EKF算法发散,因此,寻找更好的概率估计算法来解决SLAM问题成为推动该研究领域向前发展较为迫切的问题。本文在基于平方根容积卡尔曼滤波的SLAM算法和基于粒子滤波SLAM算法的基础上进行了改进,提出了以下三种更优的算法:第一种是基于组合迭代容积卡尔曼滤波的SLAM算法,该算法的主要思想是采用容积数值积分方式去直接计算移动机器人SLAM中的后验概率密度,且利用最新的测量信息去改进迭代过程中在测量更新中产生的新息方差和协方差。这种算法可以减少线性误差和提高SLAM的估计精度。该算法还采用误差协方差的平方根替代协方差保证了滤波算法的数值稳定性。第二种是基于自适应迭代平方根容积卡尔曼滤波的SLAM算法,该算法在组合迭代容积卡尔曼滤波的基础上通过添加在迭代判决准则的约束,通过对状态估计及其误差协方差矩阵平方根的自适应迭代估计去调整滤波的观测值与状态值之间的权比,使滤波预测值误差协方差阵的平方根更为准确、合理。从而达到提高滤波算法的稳定性,收敛性和估计精度的目的。第三种是基于平方根容积粒子滤波的SLAM算法。该算法在粒子滤波的先验分布更新阶段融入了最新的测量信息,且通过平方根容积卡尔曼滤波算法去设计粒子滤波的重要性密度函数,传播了状态估计协方差矩阵的平方根因子。因此这种算法保证了协方差阵的对称性和半正定性。提高了算法的数值估计精度和稳定性。