自主导航能力是评价煤矿移动机器人智能化程度的重要指标。随着计算机技术、传感器技术和机器人技术的快速发展,具有自主导航能力的移动机器人的研究成果和产品应用已经出现。然而,关于煤矿特殊环境下移动机器人自主导航的讨论较少,仍有许多关键问题有待研究和解决。面对煤矿移动机器人自主导航问题,应优先考虑任务执行过程中的现场性和实时性。
提出了一种煤矿井下移动机器人的深度视觉自主导航方法。在该方法中,机器人配备RGB-D相机作为深度视觉数据采集传感器,通过地图创建和自主操作两个阶段实现自主导航任务。在地图创建阶段,通过深度视觉数据的特征提取和匹配构建深度视觉数据关联的ICP模型,利用图优化理论构建并求解ICP-BA图模型。在自主运行阶段,使用Octomap作为机器人的导航地图,利用PNP原理进行实时重定位. 在此基础上,自主导航运动规划采用路径规划进行无人机运动执行,算法流程如图1所示 。
图1 无人机深度视觉自主导航过程
平台设计
1.硬件
构建的多旋翼无人机平台包括M300 RTK飞控板、视觉传感器、低功耗机载主控计算机、电机和14.8V锂电池。可满足基本负载要求,最大附加负载2.7kg,满载续航31min,对称电机轴距895mm,图2显示了无人机平台。
图2 自主无人机平台
机载计算机是多旋翼无人机视觉定位、地图构建和自主飞行控制的核心。机载计算机搭载英特尔酷睿i7处理器,可满足定位、地图构建、障碍物检测和路径规划等高级任务的要求。采用Ubuntu 12.04操作系统,搭载Hydro机器人操作系统。车载计算机的优点是其尺寸仅为25mm ×103mm ×113mm,质量为0.270 kg。飞行控制面板是自主指挥和飞行控制的枢纽。它有一个16位陀螺仪、14 位加速度计和磁力计,以及ms5611气压计。提供多种接口连接外部传感器,适用于各类无人机。为了增强系统的稳定性和可扩展性,还连接了数据传输和GPS模块。飞控板的串行通讯接口与主控电脑的USB接口相连,建立了主控电脑与飞控板之间的数据桥梁。单目视觉传感器通过USB接口直接与主控电脑相连。
2. 软件
该软件主要基于机器人操作系统的ROS框架,建立各模块的通信,采集传感器数据,设计自主位置控制。机器人操作系统是一种新颖的软件框架,主要应用于机器人平台操作和控制系统。其优点可以归结为点对点设计、丰富的工具包、高代码重用率、多语言支持、简化和集成、系统模块化、免费源代码和易于测试。
通信接口节点是主控计算机与M300 RTK飞控板之间的信息传输枢纽。是实现主控计算机实时获取飞行状态和自主控制飞行状态的关键。节点主要通过Mavlink协议接收多旋翼飞行器的心跳包、姿态角包和位置包,并将数据按类别以特定消息格式发布到不同主题。然后将主体数据以Mavlink协议的形式发送给飞控板,获取外部传感器的数据,实现自主飞行控制。自主控制节点的设计原理可以概括为订阅飞行器当前位置主题,提供位置反馈,然后将位置控制命令发布到通信节点的主题中。最后,通过实时监控无人机状态来调整位置控制信息。
视觉定位和地图构建
主要研究一种实时、高精度的视觉同步定位与建图(SLAM)算法。单目视觉定位和地图构建方法可以在地下实时运行。它可以完成闭环检测和重定位,包括自动地图初始化,并选择最合适的方法来选择特征点和关键帧。根据其特点,对该算法进行改进并成功应用于自主四旋翼无人机平台。在没有其他定位方法的情况下,完成了四旋翼无人机的视觉定位和地图构建。
路径规划
运动规划中的路径规划是通过一定的搜索策略,在导航地图中找到一条从起点到终点不发生碰撞的连续路径。煤矿深度视觉无人机自主作业阶段的路径规划是在构建的Octomap导航地图中寻找一条无碰撞路径。时效性在煤矿无人机任务执行中尤为重要,因此搜索策略应遵循最短路径原则。A*算法是一种广泛使用的高效最短路径规划方法。基于A*算法的搜索策略如图3所示。
图3 A*算法的成本函数
实验分析
通过开展无人机视觉导航实验,验证自主导航的控制精度,完成地下环境的地图构建。因为ROS中的命令一次只能运行一个节点,实验平台需要同时运行多个节点并完成相关参数设置,所以使用launch文件来安排启动节点和初始化参数, ROS内核也可以运行。图4显示了节点关系,其中圆圈代表主题。
图4 节点图
地图初始化后,无人机从初始化位置(0,0)起飞,自主控制节点根据定点飞行的要求设计导航任务。图5为水平位置精度,图 6为三维位置精度。从数据可以看出,DAV完成了设定的地下导航飞行任务,沿y轴飞行时位置波动较大。主要原因是飞机滚动时传感器水平朝向一侧的视野波动,以及传感器视野环境的更新和变化引起的定位误差。实验中导航飞控精度在±0.15m以内。
图5 自主导航的三个方向定位精度