论文部分内容阅读
同时定位与地图构建(Simultaneous Localization and Mapping, SLAM)方法作为一种极其具有挑战意义的课题在机器人导航领域得到广泛的研究并取得了突破性的进展。SLAM算法不需要先验的水下环境信息,当机器人在水下运动时,利用自身携带传感器感知环境,提取环境中的有用信息,利用这些信息进行自身定位,与此同时,增量地构建水下环境地图。然而在海底复杂的环境中,大多数外部传感器都不可用,自主式水下机器人(Autonomous Underwater Vehicle, AUV)只能依靠舱内携带的惯性传感器来获取自身的相关信息以及通过主动式声纳来获取周围的环境信息,而此时声纳所获得的观测信息却具有严重的噪声干扰,对AUV的导航与定位造成了很大的困难,同时也对SLAM算法提出了更高的要求。在SLAM算法中,数据关联是一个最为关键也最为困难的问题,特别是在水下复杂多变的环境中,可靠的数据关联显得尤为重要。数据关联是将环境中观测到的特征同之前观察到的特征或是地图中已存特征关联的过程,正确的数据关联可以让机器人相对于它观测到的特征来决定自身的位置,而少数的几次关联失败都有可能导致SLAM算法的发散。本文阐述了数据关联的基本理论,进而结合AUV模型阐述了基于扩展卡尔曼滤波器(Extended Kalman Filter, EKF)的SLAM算法的框架和具体实现步骤,并针对其中的关键步骤——数据关联进行重点介绍,指出了数据关联中存在的问题,然后通过仿真实验详细比较了其中两种最常用的数据关联算法——单一兼容最近邻(Individual Compatibility Nearest Neighbor, ICNN)和联合兼容分枝界限(Joint Compatibility Branch and Bound, JCBB)的性能。仿真结果表明,使用JCBB算法来处理SLAM中的关联问题具有较好的鲁棒性,然而却具有计算复杂度大、运算速度慢的缺点。本文针对JCBB的计算复杂度提出了一些相关的改进措施,同时通过对仿真结果的分析,表明在基于EKF的SLAM中使用本文所改进的数据关联算法能够显著提高AUV同时定位和创建地图的鲁棒性。