论文部分内容阅读
同步定位与地图构建问题已成为近年来服务机器人领域的研究热点。研究服务机器人的同步定位与地图构建甚至可能对人类的生活方式产生深远影响,具备该项技术的服务机器人可以替代人类完成室内外清扫、野外或海底作业、灾难援救及外太空探索等诸多任务。在简要概括了服务机器人的分类、国内外研究现状、SLAM问题的历史、基本表述形式和两种基本解决方法等内容,将SLAM问题划分为计算复杂度、环境特征表示、数据关联三个子问题并系统探讨了各自的研究方法与成果之后,本文主要完成了以下研究工作:1.对SLAM问题中的经典解决方法-扩展卡尔曼滤波(Extended Kalman Filter)算法,进行了详细的分析和推导,并在MATLAB软件平台完成仿真程序的验证。针对EKF无法实现对已构建路标更新的问题,提出创建辅助系数矩阵,传递机器人位姿与各个路标之间的信息,从而实现对已构建路标的位置更新。2.针对及时修正机器人的位姿对SLAM问题起着重要影响的问题,通过改变观测模型,利用EKF递推最优估计特性,提出并实现了利用已知路标对机器人位姿和协方差矩阵进行修正的方法,在不增加算法复杂度的同时提高估计精度。并通过MATLAB软件与扩展卡尔曼滤波算法进行了比较,取得了预期的效果。3.对SLAM问题中的另一重要解决方法-FastSLAM算法,进行了详细的数学推导,并编写程序对FastSLAM1.0和FastSLAM2.0进行仿真验证和比较。通过仿真结果发现,FastSLAM2.0改进了建议分布,将当前观测信息加入其中,理论上估计性能更优,但其数学推导和实际应用更复杂,在很多情况下这两个版本的估计性能相当。只有在观测噪声较小的情况下,FastSLAM2.0相比FastSLAM1.0才能显现它的优点。4.对服务机器人的同步定位与地图构建问题进行实物实验分析与验证。通过Arduino1.0.5软件编写了小车的控制程序,实现小车在搭建的实验环境中自主行走、自动避障等功能。编写SOCKET SERVER和CLIENT程序,实现PC机与小车的数据接收和发送。对超声波等传感器的数据,在MATLAB平台对数据进行处理和拟合,并将特征点带入到EKF算法中,实现小车的同步定位与地图构建。