基于地面站辅助的无人机自主架线系统
2022-11-03胡士强罗灵鲲
陈 强,胡士强,罗灵鲲,刘 冰,方 元
(1.上海交通大学航空航天学院,上海 200240;2.中国航空工业无线电电子研究所,上海 200240)
近年来,我国经济发展迅猛,国民生活水平日益提高,对电力建设的需求日益增长。在输电网络建设过程中,导引绳的展放是一个重要的前序环节。传统的导引绳展放一般采用人工作业或者绞磨机等机械设备辅助完成[1],但该类方法效率低下,且电力工人在高空作业时存在巨大的安全隐患。此外,庞大复杂的机械设备等可能会对周围植被、农田和交通道路等造成影响和破坏,增加了额外的建设成本[2]。为有效提高施工效率以及降低高空作业所产生的危险和施工成本,国内外许多电力公司逐渐开始采用飞行器来完成电力架线作业。当前,用于架线的辅助飞行器主要有4类:飞艇、动力伞、直升机和无人机(unmanned aerial vehicle,UAV)[3-5]。其中,多旋翼无人机相较于其他几种飞行器具有成本低廉、易于操控等显著优势,此外其还能够垂直起降,受作业环境场地的限制小,且具备悬停作业的能力,是未来利用飞行器辅助电力架线的主要发展方向。
利用无人机进行电力架线的控制方式主要分为3种[6]:基站控制、半自主控制和智能控制。基站控制是指操纵员利用地面基站手动向无人机持续发布控制指令,其本质上是利用无线电来进行控制的,但该类技术受环境空间的限制较强,以及人工操纵需要经过专业训练,施工效率低下且人工成本高。半自主控制是指将地面基站导航和预设程序相结合的一种控制方式,但该方法的智能化水平较低,缺乏应对作业过程中突发状况的能力。智能控制是指无人机根据当前周围环境及自身状态,结合任务需求自主做出响应,而不需要依靠人工指令,该方法具有较高的稳定性和工作效率。因此,基于智能控制的无人机架线技术已成为主要研究趋势,结合地面站的无人机自主架线系统是其中的一种重要方案。
利用无人机完成电力架线的核心步骤如下:通过自主程序控制无人机到达指定位置并识别安装在电杆上的架线弓,而后无人机拖曳导引绳穿越架线弓完成架线。在该过程中,无人机需要依赖精确定位飞到目标位置并准确识别架线弓。此外,还要求无人机具备较高的安全性,能够避开可能遇到的障碍物。
目前,针对无人机自主架线过程中避障的相关算法研究已取得了一系列进展。其中,基于全局地图的经典避障算法(如A*算法、随机路法和人工势场法等)在应对意外情况和动态环境时成功率低且避障效果较差,而根据实时环境感知进行避障的智能反应算法(如基于遗传算法、粒子群优化算法和蜂群算法等的避障算法)的收敛速度较慢,且易陷入局部最优解[7]。近年来,基于强化学习的避障算法也得到了研究,但仍存在较多不足,例如:基于深度Q-学习(deep Q-learning,DQN)[8]框架的避障算法的作动空间是离散的,无法生成连续的避障轨迹。此外,上述避障算法都只有在准确的环境建模或精确的环境感知基础上才能充分发挥自身优势,从而实现较好的避障效果。除了利用算法实现避障外,还可以采用地面站人工操控的方式来完成避障[9]。但是,当前常用的一些地面站只能辅助操纵员手动操控无人机,自动化水平低,且对操纵员的操作技术要求较高。此外,长期手动操控会增加操纵员的工作负担。
近年来,国内学者针对无人机自主架线技术进行了相当充分的研究。例如:罗旻等[10]设计的无人机全自动展放引线系统经实地验证,能够使用无人机按照地面站设定的航点完成架线任务,但其控制方式属于半自主控制,无人机的定位十分依赖GPS(global positioning system,全球定位系统),且无自主避障能力。在此基础上,上海交通大学的研究团队提出了基于RTK(real-time kinematic,实时动态)与视觉辅助定位的自主无人机架线系统[11],成功利用无人机完成自主架线任务。但该系统也无法规避GPS/RTK信号受扰甚至失效的问题,此外其避障完全依赖避障算法,当存在未检测到的细小障碍物或周围环境过于复杂时,易出现避障失败的情况,导致无人机安全性不足。
基于上述问题,为实现安全高效的无人机自主架线,笔者提出了一种基于地面站辅助的无人机自主架线系统。为使无人机具有自主避障能力,保障架线作业安全性,采用地面站辅助与避障算法相结合的避障策略,即利用地面站监控、干预控制的方式来改善无人机自主避障能力不足的问题。为解决GPS受扰环境下的无人机定位问题,采用视觉里程计和GPS相融合的定位方式[12],即利用视觉里程计为无人机提供GPS拒止时的短期定位支持,且GPS也能够为视觉里程计提供全局约束和纠偏。
1 基于地面站辅助的无人机自主架线系统设计
1.1 硬件框架设计
基于地面站辅助的无人机自主架线系统的硬件框架如图1所示,主要由无人机子系统、地面站子系统和通信子系统组成。其中:无人机子系统是主要的任务执行机构;地面站子系统主要负责监控并显示无人机的重要信息,并在必要时改变其控制模式以保证安全;通信子系统主要通过数传和图传实现上述2个子系统间的实时通信。
图1 基于地面站辅助的无人机自主架线系统硬件框架Fig.1 Hardware framework of UAV autonomous stringing system based on ground station assistance
无人机子系统为整个架线系统的核心,主要由无人机和各类机载传感器组成。本文选用DJI M600Pro无人机,其搭载的传感器主要有Intel Release D435i深度相机、激光雷达和GPS等。同时,选用NVIDIA Jetson TX2嵌入式开发板作为机载计算机进行数据计算和处理。
地面站子系统主要由手持式地面站终端(T21s)、地面站软件、无人机遥控器及其他硬件设备组成。其中,手持式地面站终端搭载Windows系统;地面站软件是利用Qt平台开发的界面软件,安装在手持式终端上。地面站子系统具备如下功能:获取无人机的重要信息,可视化显示重要信息及接收/发送重要指令等。地面站软件分为显示模块和控制模块,用于解析来自数传的数据和图传的云台画面并实时显示,操作员可以对无人机作业场面及周围环境进行监控;同时,操作员可以根据无人机的状态,随时通过地面站向无人机发送指令来进行控制。当无人机接收到地面站的指令后,机载计算机中相应程序可立即将无人机当前的控制模式改为指定模式。因此,当无人机无法仅靠避障算法完成自主避障或出现其他意外时,可以通过地面站及时主动切换控制模式,即利用地面站对无人机进行人工操控,从而避免危险情况的发生。
通信子系统主要包括数传设备和图传设备。数传采用串口通信协议,传输的数据主要分为上行数据和下行数据。上行数据为地面站终端传输到无人机的数据,主要是地面站对无人机的指令:在常规情况下,地面站向无人机持续发送机载控制的指令,无人机一直处于按照机载程序自主飞行的状态;在紧急情况下,地面站向无人机发送手动控制的指令,无人机将自身的控制模式切换为手动模式,然后悬停并等待地面站终端和遥控器的下一步操作指令后再执行。下行数据为无人机传输到地面站终端的数据,主要包括无人机的速度、位置、当前控制模式和云台模式等自身状态信息,当前任务执行进度,以及部分有必要在地面站软件界面上显示的机载程序的执行结果(如架线弓检测结果)等。图传用于传输无人机云台捕捉的实时画面。云台将捕捉到的画面以视频形式通过图传设备发送到图传接收机,图传接收机连接到地面站终端,地面站软件通过调用OpenCV库对接收到的图像进行解析显示。
1.2 软件系统设计
基于地面站辅助的无人机自主架线系统的软件框架如图2所示。整个软件框架基于ROS(robot operating system,机器人操作系统)[13]开发。在ROS工作空间内,以模块化的方式分别建立多个功能包和节点,用于实现不同功能。其中:通信及飞行任务管理模块是主节点,接收来自地面站的任务输入和指令并生成无人机自主作业路径;架线弓检测模块依靠深度相机拍摄的深度图及RGB(red green blue,红绿蓝)图来对每根电杆上的架线弓进行识别,识别结果一方面作为任务规划节点的输入,另一方面作为重要信息传递至地面站并显示;障碍物检测与路径规划模块接收来自激光雷达和深度相机的数据,先利用避障算法生成安全路径并发送至任务规划节点,再结合架线任务重新规划无人机需执行的路径,并将路径以速度和位置等控制指令的形式传递到无人机飞控及执行机构;定位模块可为无人机的飞行提供精确的位置和姿态信息。
图2 基于地面站辅助的无人机自主架线系统的软件框架Fig.2 Software framework of UAV autonomous stringing system based on ground station assistance
构造合理的软、硬件框架是无人机能够执行自主架线的前提。以此为基础,通过高效的算法协助无人机提高自主作业的安全性、准确率和效率。
2 基于地面站辅助的无人机自主避障策略
具备自主避障能力是无人机智能化水平的体现,更是无人机实现自主架线必不可少的条件。无人机避障的一般步骤为:先根据传感器采集到的环境信息判定当前是否存在障碍物,并对是否会与障碍物发生碰撞进行检测;然后根据判定和检测结果规划合理安全的避障路径并执行。针对无人机在电力环境下对障碍物的感知能力弱,以及在复杂环境下避障算法可能失效的问题,在自主避障算法的基础上引入地面站辅助避障策略。
2.1 障碍物判定及碰撞检测
一般而言,当障碍物与无人机之间的距离小于安全阈值时,无人机才需要执行避障程序。为了避免无人机出现过于保守或不必要的避障行为,以提高其自主执行任务及避障的效率,采用碰撞检测方法来识别无人机前方的障碍物。从几何学角度看,碰撞检测问题可以看成求解2个多面体间的相交问题[14]。碰撞检测算法一般分为空间分解法[15]和层次包围盒法[16]两大类。其中,包围盒法构造简单且容易测试,适用于复杂环境中的碰撞检测,应用范围更为广泛,故本文采用这种方法来实现无人机前向障碍物判定以及碰撞检测。
如图3所示,利用轴向包围盒法对无人机碰撞检测进行建模:先以无人机质心为原点构建机体坐标系O-XYZ(X轴正方向为无人机的前进方向),再以机体坐标系为参考构建长方体包围盒ABCD-A1B1C1D1;为保证无人机安全,在无人机前向上增加2 m的安全余量,即长方体包围盒A1B1C1D1-A2B2C2D2,其中线段AA1的长度S=2 m。
图3 无人机碰撞检测包围盒模型Fig.3 Collision detection surround box model of UAV
当激光雷达和深度相机扫描点进入包围盒内部时,判定此时无人机有发生碰撞的可能性,需要执行避障策略。
2.2 基于激光雷达的避障算法设计
结合无人机架线的任务需求,在遇到障碍物时主要考虑水平面内的横移避障。因此,可以利用威胁锥模型[17]对无人机前向障碍物进行建模,如图4所示。图中:XUk为k时刻无人机的位置矢量,VUk为当前无人机的速度矢量,Xobs为当前障碍物的位置矢量,则障碍物与无人机的相对位置Xk=Xobs-XUk。以Xk和XUk构造二维平面,则威胁锥为无人机当前位置与界线圆的2个切向量(P1、P2)垂直。
图4 障碍物威胁锥模型Fig.4 Obstacle threat cone model
根据图4,切向量P1、P2的计算式如下:
其中:
式中:u1、u2分别为障碍物到切向量P1、P2的单位向量;c、d为模型参数,c由d、Xk、VUk计算得到,实际作业中d=3 m(当无人机与障碍物距离小于3 m时,开始执行避障程序)。
由此可得,无人机的速度矢量VUk可表示为:
式中:a、b为系数,其计算方式见文献[18]。
无人机的碰撞判据为:a>0且b>0,即在此条件满足时,无人机存在碰撞危险。
无人机激光雷达可以提供障碍物的距离及角度信息,建立碰撞模型后需要计算无人机避障所需的偏转角度φ:
式中:ri为障碍物与激光雷达间的距离;θv为无人机速度方向与激光雷达正方向(即无人机机体正方向)间的夹角;θi为障碍物与无人机正方向间的夹角;i为激光雷达扫描到的第i个点。
通过式(4)可计算得出无人机避障所需的最小偏转角度,无人机沿某方向前进,直到无人机碰撞判据不再成立,即认为无人机完成避障,而后无人机恢复架线的飞行任务,重新向下一目标点飞行。
2.3 基于地面站辅助的无人机避障策略设计
对于2.2节中的避障算法,无人机避障的成功率在很大程度上取决于激光雷达等传感器的有效性及精度,而电力环境中存在电线电缆、电杆及植被等各类复杂障碍物,这对无人机感知能力的考验极大。此外,无人机在复杂环境下可能会存在无法避开障碍物的情况。因此,根据实际需求,设计并实现了地面站子系统,通过数传和图传与无人机建立实时的数据交互,实现主动获取并实时显示人机云台和深度相机的实时画面,并提出基于地面站辅助的无人机避障策略,如图5所示。
图5 基于地面站辅助的无人机避障策略Fig.5 Obstacle avoidance strategy of UAV based on ground station assistance
当无人机开始自主架线作业时,激光雷达持续对周围进行障碍物感知,当感知到障碍物存在并判定有碰撞威胁时,执行自主避障算法来规划路径。同时,地面站持续对无人机进行监控,操纵员可以通过地面站显示的视频对无人机及周围环境进行实时监控管理。当发现无人机未感知到障碍物存在或者无人机存在避障失败、可能发生碰撞的潜在危险时,通过地面站软件发送指令来对无人机进行干预,即将无人机控制模式由自主控制切换为手动控制,此时无人机会立刻悬停以防止发生危险,操纵员通过地面站对无人机进行安全操作直到无人机脱离危险状态。
上述基于地面站辅助的避障策略以避障算法为基础,在绝大部分条件下能够实现无人机的自主避障,可极大地减轻操纵员的工作负荷。同时,地面站对无人机进行实时监控,必要时可通过地面站对无人机进行干预控制,防止意外情况发生,从而最大程度地保证无人机的安全。
3 无人机自主架线流程设计
使用无人机进行自主架线,除了自主避障外,架线任务规划、架线弓检测和精确定位等也是影响架线作业成功率和效率的重要因素,下文将针对上述关键环节进行深入探究。
3.1 自主架线任务规划算法
无人机自主架线任务规划流程如图6所示:当系统准备就绪,开始新的架线任务时,首先通过地面站输入本次作业的目标点位置(电杆的GPS坐标和高度已知),无人机接收到信息后由机载计算机在线规划任务执行路径,经地面站确认后发送开始架线的指令,无人机接收指令并执行。当无人机开始作业后,避障模块开始不断地进行障碍物判定和碰撞检测,并且结合目标点和障碍物信息进行路径规划,确认路径安全后执行。在无人机飞至目标点后,开始检测架线弓并执行穿越架线弓的动作。若无人机未及时检测到周围细小障碍物或出现穿越架线弓失败、导引绳被缠绕等意外情况,可及时通过地面站将无人机的控制模式切换为手动控制,同时利用遥控器控制无人机脱险,而后通过地面站恢复无人机当前任务直到架线完成。
图6 无人机自主架线流程Fig.6 Flow of UAV autonomous stringing
3.2 融合定位算法和架线弓检测算法
无人机在执行自主架线任务过程中需要精确定位和准确快速识别架线弓,这样才能保证作业的成功率和效率。对于无人机的定位问题,本文采用GPS与视觉里程计融合的方式实现位姿估计,并通过扩展卡尔曼滤波(extended Kalman filter,EKF)算法对GPS与视觉里程计的定位结果进行融合。该方式既能利用GPS全局定位对视觉里程计的定位结果进行约束和纠偏,又能利用视觉里程计保证无人机的局部定位精度,且当GPS短暂失效时能够为无人机的飞行提供定位支持。利用EKF算法融合的优势如下:可利用GPS开展全局层面的定位,利用视觉里程计实现局部精确、平滑的位置更新[19];相较于非线性优化的融合方式,该方式的计算量更小,更适用于计算资源有限的无人机[20]。为更好地利用无人机自主飞行技术完成电力架线任务,使用位姿估计功能包robot_pose_ekf,其为基于EKF算法开发的融合定位功能包,在实际应用中易实现。
图7所示为无人机拖曳的导引绳需要穿越的架线弓。无人机在每一次执行架线任务前均需准确检测到架线弓。目前,目标检测方法已从传统的“特征提取+训练分类”方法逐渐过渡到基于深度学习的方法,其中YOLO系列算法是使用最广泛的检测方法之一[21]。但是,上述方法不可避免地存在需要训练、易受图像背景干扰以及实时性差等不足。考虑到架线弓具有明显的颜色特征和几何特征,可直接利用图像处理算法进行检测:一方面该算法易于实现,实时性好;另一方面该算法具有较高的准确率。
图7 架线弓实物Fig.7 Physical object of stringing bow
架线弓检测算法流程如下:首先,对深度相机采集的架线弓图像进行Canny边缘检测并进行掩码合成;然后,利用颜色分割算法对架线弓图像进行HSV(hue saturation value,色调、饱和度和明度)颜色分割;最后,在获得红色边缘后利用EDLines算法[22]进行直线段检测,相较于霍夫变换或直线检测算法(line segment detector,LSD)等,EDLines算法在保证检测结果准确的前提下具有更好的实时性。考虑到所得红色直线段中仍可能包含大量环境干扰(如红色楼宇的轮廓等),结合架线弓长度、角度以及空间不相交等几何特性对检测结果进行约束,以有效提高架线弓检测的准确率。假定直线段检测结果共获得n条直线,由于架线弓在大多数情况下是视野中最长的,故按长度对直线段进行排序,从最长的直线段开始往下依次配对,满足以下所有条件的即为正确的检测结果:
1)两线段长度差值在短者长度的30%以内;
2)两线段夹角约为126°;
3)两线段的低端近似平行;
4)两线段不相交。
4 实验验证
为验证本文所提出的无人机自主避障策略、融合定位算法、架线弓检测算法以及整个自主架线系统的可行性,利用模拟测试和实地实验展开分析。
4.1 无人机自主避障策略验证
为了验证所提出的无人机避障算法的有效性以及基于地面站辅助的无人机避障策略的可靠性,分别在空旷场地和真实电力架线场地中进行实验。在空旷场地中,为无人机设定一条预定的飞行轨迹。在无人机执行架线任务的过程中,利用手举牌模拟障碍物,在无人机前方的各个角度随机进行阻挡,重复多次。在真实电力架线场地中,无人机按照真实架线流程进行作业,通过远距离观察并结合地面站的监控画面,对无人机飞行过程中的避障动作进行记录,重复多次真实作业流程加以验证。不同场地中无人机自主避障实验结果如表1所示。
表1 不同场地中无人机自主避障实验结果Table 1 Experimental results of autonomous obstacle avoidance of UAV at different sites
4.2 融合定位算法和架线弓检测算法验证
本文所设计的无人机自主架线系统在ROS工作空间中主要包含4个功能模块,分别由对应的节点实现,不同节点之间通过发布和订阅话题(Topic)实现数据传输。基于上述设计,对其中某个功能模块进行算法优化或更替较为方便,只需修改对应功能包,确保话题名称一致即可。
对于融合定位算法,由于难以获取参考值,在真实电力架线场地中开展定性实验。经过验证,利用GPS和视觉里程计融合的定位方式能够代替RTK定位方式,其定位结果的误差在可允许范围(±30 cm)内,满足无人机自主架线任务需求。相比于RTK定位方式,融合定位方法能大幅度降低传感器成本,同时在部分GPS/RTK信号受干扰时仍能保持较高的鲁棒性,提高了无人机执行任务时的稳定性。
对于架线弓检测算法,主要通过模拟测试和实地实验来验证。由于在真实电力架线场地中所获取的架线弓图像背景复杂,对检测算法造成的干扰较大,分别在室内、室外草坪和真实电力架线场地中开展相关测试,以对算法进行验证。实验结果表明,所提出的架线弓检测算法具有较好的实时性和较高的准确率。在不同光线条件下,颜色分割算法的HSV参数可能会影响架线弓检测结果,通过重复实验得出最优的HSV参数,如表2所示。表中:hmax和hmin、smax和smin、νmax和νmin分别为色调、饱和度、明度的最大值和最小值。
表2 颜色分割算法的HSV参数最优值Table 2 Optimal values of HSV parameters of color segmentation algorithm
在室内环境下,将架线弓放置在水平地面上,手持深度相机正对架线弓并缓慢靠近,当距离架线弓2.5~3 m时保持不动,观察架线弓检测结果并重复多次实验。在室外草坪环境下,将架线弓放置在离地面2 m高的台架上,将深度相机固定在无人机正前方,利用遥控器和地面站控制无人机与架线弓保持同一高度并缓慢靠近,同样在距离为2.5~3 m时保持悬停,观察架线弓检测结果并重复多次实验。在真实电力架线场地中,依次输入电杆的GPS坐标,然后令无人机执行自主架线程序,并在地面站软件界面上观察架线弓检测结果,并重复多次实验。不同场地中架线弓检测实验结果如表3所示。
表3 不同场地中架线弓检测实验结果Table 3 Experimental results of stringing bow detection at different sites
由表3结果可知,在3种场地中,架线弓检测算法均没有出现误检(即错误判定其他物体为架线弓)的情况,准确率满足实际需求。在室外草坪环境中出现2次未检测到的情况,而在真实电力架线场地中共出现3次,这是因为室外光线可能会发生变化且存在较多背景干扰。为了解决该问题,当在实际任务中检测不到架线弓时,无人机执行局部搜索程序,逐渐扩大搜索范围直至检测到架线弓。
4.3 无人机自主架线系统验证
为了验证整个无人机自主架线系统功能的完整性和可靠性,在电力公司专业架线训练场地开展实物实验。利用无人机牵引电力导引绳,在训练场地中依次飞越3根电杆并完成架线作业,如图8所示。
图8 无人机自主架线现场Fig.8 UAV autonomous stringing site
作业电杆高度为11 m左右,每2根电杆间距30~35 m,测试结果如表4所示。在30次作业中,有22次是完全依靠无人机自主作业完成架线任务;由于未检测到障碍物、导引绳发生缠绕以及卡线等,有8次需要地面站进行辅助并参与架线:当发现无人机作业状态异常时,通过地面站将无人机的控制模式切换为手动控制,操纵员通过地面站子系统手动操控无人机并最终完成任务。在地面站辅助下,无人机自主架线系统的成功率为100%,不仅高效稳定,而且能够应对各类突发状况,具有较高的安全性。
表4 无人机自主架线系统完整作业实验结果Table 4 Complete operation experiment results of UAV autonomous stringing system
5 总结与展望
为实现无人机自主架线,基于地面站搭建了完整的自主架线系统硬件框架,并基于ROS构造了模块化的软件框架。针对无人机感知能力弱、避障能力不足的问题,通过引入基于地面站辅助的避障策略,有效提高了无人机自主避障能力,大大增强了无人机自主架线时的安全性。针对架线过程中无人机定位、架线弓检测等问题,利用GPS与视觉里程计融合的定位算法有效地解决了无人机定位问题,并结合图像处理算法完成了架线弓检测,极大程度地提高了自主架线的成功率和效率。
通过模拟测试及实验验证,基于地面站辅助的无人机自主架线系统能够高效稳定地执行电力架线任务,架线任务规划算法、融合定位算法和架线弓检测算法等均能够达到设计要求,且无人机与地面站能够实时通信,既保证了无人机作业效率及成功率,又实现了无人机的自主避障,具有较高的安全性。综上,所提出的无人机自主架线系统高效可靠,可在实际中推广应用。