基于Onboard SDK的无人机自主飞行控制及精准拍照技术研究
2021-12-21边慧琴杜立江武晓楠王喜中
边慧琴,杜立江,武晓楠,王喜中
(国家电网濮阳供电公司,河南 濮阳 457000)
现阶段对于无人机研究多是集中在无人机智能化方面,从而实现无人机飞行智能控制、自主决策以及自主降落等。将无人机应用到饶塔巡检时,由于工作环境内存在有高压供电线路、异性电力杆塔等,对无人机控制精度要求更高。同时无人机巡检时需要对塔杆各位置(包括杆塔标识牌、基面及塔腿、绝缘子串挂点等)进行拍照,后进行智能分析,对获取到相片质量有较高的要求。文中基于Onboard SDK对无人机自主飞行控制及精准拍照技术研究,以期能在一定程度上提升无人机巡检效果。
1 DJI Onboard SDK概述
DJI Onboard SDK是一个开源软件库,使计算机通过串行接口与DJI飞机、飞行控制器通信。DJI Onboard SDK包含一个核心库(OSDK-Core),可通过该库获取飞机数据和控制信息。该库的体系结构被设计为可扩展的。所有命令均与产品无关,并且在运行时提供产品功能信息。这意味着,当为一种产品(如M210)编写应用程序时,它也可能会与另一种具有类似功能的产品(如A3)一起使用。
2 OSDK线程模型
在支持线程的系统(除STM32之外的所有平台)上,OSDK运行四个线程:主线程,程序执行的主要流程在这里发生。通常,所有发送到飞机/FC的命令都在此线程上执行。串行读取线程,来自飞机/FC的遥测数据在串行读取线程上处理,并在此处填充确认/返回类型。阻塞调用将阻塞主线程,直到读取线程完成处理其确认为止。一些回调在此线程上处理-来自飞机的为异步“推送数据”注册的回调(可通过DJI Asistant2的SDK页面启用)。USB读取线程,如果启用了M210的高级感应功能,则会创建一个单独的线程。此功能适用于订阅机制。订阅图像后,推送数据将继续通过USB传输。该线程仅提供读取功能。如果开发人员希望对图像数据进行大量计算,建议创建一个单独的线程。回调线程,处理发送到飞机/FC的命令的确认的所有回调均在回调线程上执行。
3 无人机定位和视觉跟踪技术
3.1 无人机定位技术
基于网络RTK高精度定位的无人机实时高精度定位技术主要包括在网络RTK的无人机高精度定位基础上,融合视觉导航跟踪技术,实现绝缘子串、防振锤、间隔棒、均压环、杆塔关键部位的捕捉和精准拍摄,视觉追踪是需要解决主要问题之一。对于特定目标的追踪的基础是将追踪目标识别出来,因此需要实现对巡检影像的特定目标识别。基于巡检影像的实时识别与基于视觉导航的目标跟踪,实现对云台和飞机的控制,使其达到完全自动化特定目标拍照,是本项目主要解决的问题之三。挑选合适的前端识别模块,实现云台相机与前端智能识别模块的联动,达到数据实时分析,云台及时调整。
3.2 视觉跟踪技术
一般情况下,用于线路设备信息采集的相机分辨率高、焦距大、视场角较窄,相机较摄像机的视场范围较小,在基于机载视频跟踪系统完成粗定位后,目标不一定落在相机的视场范围内,因此,首先基于设备识别技术判断设备是否出现在相机图像空间中,如果在,则需要根据相机图像空间与吊舱控制系统间建立雅克比关系,进行伺服过程:基于图像平面空间坐标系与三维空间中点之间投影变换模型,定义图像空间像素偏移量与三维世界坐标系下的图像雅克比矩阵为:
式中,z为目标到相机坐标系的距离;x、y为图像空间像素坐标位置信息。
通过上述关系根据图像空间像素偏差调整吊舱控制量,重复上述操作,直至目标设备在图像中心区域;如果不在,则需要基于目标设备在摄像机图像空间中的位置及相机光心及视场范围与摄像机光心及视场范围的位置关系,确定相机视场中心与当前目标在摄像机视场空间的位置偏差,进而根据无人机相对线路的距离信息,计算无人机吊舱的姿态调整控制量,直至相机图像范围内检测到目标设备,且接近于图像中心位置,从而保证目标信息采集的完整性,有效性。
4 无人机自主飞行控制及精准拍照
基于机载视频的输电线路目标跟踪技术主要研究基于特征的实时目标跟踪技术。通过如颜色等的分布来对描述目标,然后通过侯选目标、目标模板的相似性度量来寻找目标,并迭代搜索目标位置,实现目标跟踪、模式匹配。
基于机载视频的典型设备识别定位技术主要研究基于特征的绝缘子串、防振锤、间隔棒、均压环、杆塔关键部位等识别定位技术。通过视频中要拍摄设备的轮廓及对应的特征实现对视频中主要设备的识别定位,在对输电线路部件的定位与识别中,可以通过在图像上提取低级别的特征,再根据感知聚类的思想将低级别的特征组合成中级别的结构。然后,分别将大部件的特征抽象成语义,根据各个大部件的语义在已提取的中级特征中识别大部件。通过感知聚类的方法将需要识别的对象与低级别特征进行关联,解决在架空输电线路部件识别中低级别特征与部件之间如何关联的问题。
具体拍摄步骤为:Step1:设置巡检拍摄视点,即确定无人机悬停位置;Step2:基于RTK,飞手通过手飞确定航点;Step3:基于航点规划巡检航线;Step4:执行自动飞行;Step5:无人机飞到航点进行悬停,前端智能识别模块进行杆塔关键部位识别,确定部位的位置;Step6:规划关键部位识别次序,依次对焦拍照;Step7:进入下一拍摄点,直到拍照完成。
结合AI目标识别定位技术实现精准拍照,瞄准拍摄目标时间可进一步缩短,平均每基塔5min内完成全自主飞行,超过一般的飞手水平,单点对准、变焦、对焦、拍照的时间可优化到3~4s内完成,目前是7~8s。自动对准对焦的精细化拍照效果见图2。
图1 抓拍设计流程图
图2 现场拍照效果图
5 结语
(1)文中依据DJI Onboard SDK数据库以及OSDK线程模型对无人机定位和视觉跟踪技术进行探讨,提出采用无人机定位技术、视觉跟踪技术实现无人机的自主飞行控制,并为后续的精准拍照奠定基础。
(2)将AI技术应用到精准拍照中,并对无人性抓拍流程进行阐述。现场应用后,无人机瞄准拍摄目标时间可进一步缩短,平均每基塔5min内完成全自主飞行,超过一般的飞手水平,单点对准、变焦、对焦、拍照的时间可优化到3~4s内完成。