论文部分内容阅读
随着移动机器人的应用越来越广泛,机器人精准的定位与精确导航也变得越来越重要,为机器人在复杂应用场景中的作业提供了重要的保障。当前的机器人位姿估计大多依赖外感式传感器,而对于一些如水下、管道等特殊场景,无法使用这些传感器,需要采用间接测量的方法使用概率推算来估计机器人的位姿。目前自主移动机器人尚无法做到完全独立自主的运动,大多依赖人工控制和路径规划,需要提前知道环境地图。本文针对上述问题使用概率推算机器人的位姿,并利用AprilTag实现机器人的同时定位与地图构建(SLAM,Simultaneous Localization and Mapping)。本文主要研究内容和创新点如下:本文采用惯导(IMU,Inertial Measurement Unit)、编码器、激光雷达、摄像头为主要传感器搭建了实验小车平台。首先结合小车IMU和编码器数据信息进行小车的位姿估计。使用拓展卡尔曼滤波(EKF,Extended Kalman Filter)结合IMU和编码器进行位姿的推算,用测量值校正误差,通过不断迭代预测下一时刻的位姿。使用机器人操作系统(ROS,Robot Operating System)中的rosbag工具包记录运动数据,将推导的EKF估计公式在Matlab上仿真实现,实验比对了状态估计与真实轨迹的差异,误差在0.05m之内,证明了算法的有效性。针对小车在未知环境中的自主导航问题,提出以AprilTag码作为任务标识来指引小车自主运动的方法。由于AprilTag具有类似于二维码的特性,所以其识别准确度高、实时性好、计算量小,并能多目标同时进行识别。本文采用AprilTag为小车提供运动指引,设置了前进、掉头、左转、右转的标识(ID)。通过在实验环境中张贴AprilTag标识来引导小车运动。机器人使用视觉摄像头拍摄并识别到AprilTag码,利用ROS节点来传递ID信息,对应地控制机器人运动。在机器人运动的同时使用Gmapping算法进行SLAM建图;与Hector算法进行了比较,实验结果表明在设置AprilTag指引的实验环境下,Gmapping算法效果更好,所建立的SLAM地图轮廓更加清晰,并且在转弯处不会发生地图畸变。