视觉无人机棚内煤场自主飞行与地图构建
2018-07-24周武根彭晓东
周武根,李 运,彭晓东
(1.中国科学院国家空间科学中心,北京 100190;2.中国科学院大学,北京 100049)
0 引言
近年来,基于无人机导航的相关应用研究得到越来越多的学者和公司的关注,无人机作为空中机器人,挂载光学摄像头、激光雷达、IMU、声纳、红外摄像机等传感器,通过GPS定位并结合相应的智能处理算法,可以广泛地应用在地面测绘、农业植保、森林防火、灾难救援等领域。
但是,这些任务的复杂性对无人机本身的算法要求越来越高,尤其是无人机在室内等无GPS信号场景的应用[1-2],鲁棒的定位算法极为重要。现有的无人机室内自主飞行的定位算法主要基于激光雷达、IMU、相机这三种传感器及其相互之间的数据融合[3-5]。其中,激光雷达由于其体积笨重通常不太适用于轻量型的无人机室内飞行,而视觉除了可以提供定位信息外,还可以集成识别、目标跟踪、场景理解等技术,从而发展成更加智能的飞行无人机。所以,基于视觉及IMU的无人机自主飞行逐渐成为主流,引起广泛的关注与研究[6-7]。
即时定位与地图构建(Simultaneous Localiza-tion and Mapping, SLAM)算法[8]作为机器人领域重要的自主定位与地图构建算法,尤其是基于计算机视觉的SLAM技术,对无人机室内导航是一个极大的补充,两者的结合能够极大地拓展无人机的应用前景[9-10]。最具有代表性的是基于特征点法的ORB-SLAM[11],基于直接法的LSD-SLAM[12],由于这两种算法的复杂性,使得其在移动机载端的嵌入式系统上难以实时运行;基于特征点法与直接法相结合的视觉里程计SVO[13],就是基于无人机平台开发的,但是难以适应复杂的坏境,并且容易出现丢帧。
在火力发电厂需要探测煤场的煤储量,由于体积常在几千甚至上万立方米左右,并且储量是动态的增减,常规称重等方法已经不适用。传统的盘点煤储量仪器是站在某一固定点打出激光,然后通过对多个已知位置的激光点云合成拼接出整个煤场的煤堆模型,从而估算出煤堆的体积。该方法在室内应用时由于高度的限制,容易存在探测盲区,影响重建精度。
无人机由于其灵活、智能化等特点,已经广泛地应用于地面测绘、地图构建等领域[14],结合相应的路径规划算法可以实现无盲区的煤堆地图构建。因此,提出利用无人机结合视觉里程计进行室内定位,实现棚内煤场的煤堆地图构建与储量估计。
1 无人机室内飞行应用
在没有GPS信号的环境下,通常的无人机自主飞行系统包括飞行平台、各种功能的传感器、板载处理器、软件算法、地面站控制终端等,各个模块之间相互协作[6,15],共同完成无人机自主飞行任务,如图1所示。
传感器感知周围环境,将原始感知信号传入机载端电脑进行处理,在无GPS或弱GPS环境下,无人机的自主飞行分为以下2个步骤:1)通过融合IMU、超声波、相机等的一种或多种传感器信息,获得鲁棒的定位信息;2)依据该定位信息,对无人机进行路径规划,最后,输出相应的控制命令控制无人机自主飞行。
受限于现有的无人机板载电脑计算能力,SLAM算法中的一些模块如回环检测、集束调整、稠密地图构建等,一般考虑在地面终端进行,无人机通过与地面端数据通信来校正当前定位信息,并且在地面终端的后期处理可以提升三维重构精度。
2 棚内无人机自主飞行
2.1 任务及场景分析
由于SLAM或视觉里程计等算法很难满足所有的室内场景,不同场景适用的SLAM在结构及算法细节上可能千差万别。因此,针对不同的场景特点,需要选择合适的传感器及飞行平台,设计相应的定位算法。
针对无人机自主飞行进行棚内煤场盘煤的任务,如图2所示。首先,需要对棚内煤场的场景及其空间结构有大致的了解,图3所示为棚内煤场实际图。
总体而言,棚内煤场有以下几个特点:1)钢架结构较多,磁场干扰较大,导致定位推算时无法使用磁力计数据进行融合提高定位精度;2)棚内周围钢架结构是静态的,适合当前主流的SLAM算法做定位计算;3)光线明暗程度不一致,但是没有光线剧烈变化的场景,通过多个方向的视觉融合,可以降低光线明暗的影响,提升视觉定位精度;4)由于路径规划整个煤场只遍历1遍,所以该任务无法进行基于场景识别的回环检测,因此,视觉里程计会不可避免地带来一定的累积误差。
2.2 无人机系统设计
根据以上的场景分析,系统的无人机硬件平台采用大疆M100型号可编程的无人机,以及可开发的Guidance作为感知周围环境的传感器设备,整体设计如图4所示。
棚内煤场场景通常具有磁干扰较大、光线明暗不一致、有障碍物等特点,考虑以下几点:1)融合5个方向双目视觉信息的视觉里程计,各个方向计算结果能相互补充,避免了单个方向容易丢帧的现象,减少定位失败的可能性;2)针对棚内的障碍物,考虑获取Guidance感知的4个方向障碍物信息,并在此基础上设计相应的避障规则,结合路径规划,设计出无人机飞行的避障航迹线路;3)由于对煤场煤堆重建质量要求较高,在线地图构建远远达不到要求,因此,考虑将照片应用运动推断结构方法进行离线重构,获得三维精确的煤堆模型。但是,该算法恢复的煤堆模型是没有尺度的,需要结合前面的定位数据给出相应的尺度信息,重建模型才可以用于后期的体积估计。
3 实验结果
现有煤场的煤棚主要分为两边开口的敞开式煤棚,以及全封闭式煤棚两种,对此分别进行了2组实验,以此来验证所提出的无人机自主飞行盘煤系统的可行性。
3.1 全封闭煤棚实验
全封闭煤棚的特点是没有GPS信号,棚内四周全是静态的棚壁面及钢架结构,并且没有风的影响,这样的环境适合基于视觉的导航飞行。棚内的煤堆长度超过210m,由于视觉定位是基于初始方向下的无人机坐标系,无人机长距离飞行可能会出现与棚内壁面相撞的情况。因此,避障规则设计成调整无人机的偏航角,如图5中的左上角,无人机调整航向后避免了与棚壁面相撞。
由于视觉计算量较大,实际飞行速度不能太快,若飞行太快,视觉计算的定位结果不准确,容易导致无人机漂移;运动推断结构算法需要相邻2张照片之间有一定的重叠度,综合飞行速度和高度,设定合适的拍照频率,具体参数值如表1所示。
表1 实验参数设置
定位结果如图5所示,右边是起飞点与降落点,往前飞行时由于偏航角未与现场坐标系对准,容易出现偏移。在经过避障功能调整之后,在往回飞行阶段,可以看出飞行相对稳定,定位偏差从图中网格可以大约估计。煤堆三维重建结果如图6所示,根据之前的视觉定位信息,可以确定该煤堆三维模型的空间尺度,根据该实验重建结果,利用后处理软件对模型进行体积估计。
定位结果与重建精度结果如表2所示,可以看到定位相对较好,估计的煤堆体积与真实的煤储量也比较接近,验证了该方法在封闭煤棚内定位与建图的可行性与有效性。
表2 全封闭煤棚定位与地图构建结果
3.2敞开式煤棚实验
两边开口式的煤棚下面的煤堆跨越棚内外,所以,无人机的路径规划需要先从棚外起飞,才能够遍历完整个煤堆。在棚外起飞至20m以上高空时,由于四周都是天空,容易导致图像难以提取特征、视觉定位不准。在该情况下,考虑棚外用GPS定位,棚内外的交界处用Kalman滤波融合GPS定位信息及视觉里程计数据进行定位,棚内用纯视觉定位,从棚内飞出棚外时依赖GPS信息校正视觉定位的累积误差,从而实现了棚内外导航方式无缝切换。
实验结果如图7(a)所示,从定位结果来看,反映出无人机长距离飞行稳定,特别是在棚内外交界处没有出现横向偏移,路径弯曲部分是避障和局部路径规划的结果。根据定位结果,由运动推断结构方法进行离线重构,同样可以获得比较精确的煤堆三维模型,如图7(b)、图7(c)所示,煤堆三维重建的结果比较精细,整体没有出现弯曲等重构的累积误差,棚内外交界处没有不协调,外观和重构细节均能够较好地反映出煤堆的空间结构。
实验结果如表3所示,由于存在GPS信息的校正,该敞开式煤棚场景下的室内段定位累积误差能够被消除一部分,所以精度比封闭式环境稍好一点。同样,基于地图构建结果的煤堆体积估计与真实煤储量较为接近,验证了所提出的无人机自主飞行系统在该种室内外结合的敞开式煤棚场景下盘煤的有效性和可行性。
表3 敞开式煤棚定位与地图构建结果
4 结论
针对室内大型煤场的特定场景,设计了一个能够适应大型室内自主飞行的无人机系统,与现有的视觉无人机系统不同,该系统融合了5个方向的视觉信息进行定位,实验结果也显示出该系统在大型室内场景下定位的鲁棒性和低漂移,加上获取的周围障碍物信息和局部路径规划能够达到简单避障的效果,实现了无人机室内自主飞行。通过运动推断结构算法构建出的煤堆三维模型较为精确,煤堆体积估计与实际储量比较接近。2个实际场地飞行的实验验证了该无人机系统在大型室内煤场煤储量估计方法的可行性和有效性。
根据实验结果发现,该系统依然存在不足之处,在今后的工作中,以下几个方面仍需继续改进:1)视觉定位算法仍然存在累积误差的情况,如何降低该误差是今后的工作重点;2)路径规划及避障算法需要进一步加强,同时考虑避障和全地图覆盖两方面的要求,提升复杂环境下的障碍物感知、避障及路径规划能力;3)无人机控制问题,后期会考虑自适应的PID控制,提高控制的精确性和稳定性。