多旋翼无人机地面控制站软件系统设计与开发
2017-08-30乔冠宇
彭 程,白 越,乔冠宇,2
(1.中国科学院 长春光学精密机械与物理研究所,长春 130033;2.中国科学院大学,北京 100039)
多旋翼无人机地面控制站软件系统设计与开发
彭 程1,白 越1,乔冠宇1,2
(1.中国科学院 长春光学精密机械与物理研究所,长春 130033;2.中国科学院大学,北京 100039)
针对多旋翼无人机自主飞行实时监控需求,开发了一套完整的多旋翼无人机地面控制站软件系统;根据多旋翼无人机地面控制站软件总体设计分析,基于功能模块化思想,分别设计并实现了飞行监控、飞行任务管理、二维与三维结合的导航电子地图以及数据库技术等功能,为无人机的实时监控提供了有力保障;地面控制站软件系统的三个用户主界面简约美观,能够实时切换,便于地面操作员对无人机的飞行监管;最后,通过某型多旋翼无人机的飞行作业,对地面控制站软件系统进行了全方位测试;实验测试有效地证实了该地面控制站软件系统具有完善的监控功能,操作简便,完全满足无人机地面控制站需求,已经作为标配软件提供给用户使用。
地面控制站软件系统;多旋翼无人机;飞行监控;飞行任务管理;导航电子地图;数据库技术
0 引言
近年来,多旋翼无人机具有体积小、飞行灵活、可垂直起降等优点,受到了广泛关注。为了实现多旋翼无人机的自主飞行,多旋翼无人机系统地面控制站作为无人机的指挥中心是必不可少的。地面控制站能够为地面操作员提供无人机的实时监控与管理[1]。
多旋翼无人机地面控制站软件系统是地面控制站的核心组成部分。在一个完整的无人机系统中,操作员通过操控计算机、地面控制站硬件系统的手柄与按钮等实现与地面控制站软件系统的交互[2]。地面控制站软件系统实现无人机飞行状态信息的显示、飞行任务规划与管理、导航电子地图以及飞行数据的记录与保存等功能。
本文开发了一套完整的多旋翼无人机地面控制站软件系统,软件系统功能完善、操作简便、具有良好的可移植性和可扩展性,目前已经在实际工程中得到了良好的应用。
1 地面控制站软件系统总体设计
多旋翼无人机地面控制站软件系统在Windows 7操作系统下,基于Microsoft Visual C++集成开发。
1.1 地面控制站软件系统总体结构
基于功能模块化设计思想,地面控制站软件系统的总体结构如图1所示,分成四大模块:飞行监控模块、飞行任务管理模块、导航电子地图模块与数据库模块。模块的独立设计确保系统结构清晰明了,针对性强,易于调试与测试。
图1 地面控制站软件系统总体结构图
1.2 关键技术的实现
1.2.1 飞行监控
多旋翼无人机地面控制站通过无线数传电台通讯,并与上位机是通过串口连接。通过测试比较可知,多线程的第三方串口类CSeralPort类具有高效读写速率,灵活性高,能够满足软件系统对无人机数据处理的准确性与实时性要求。最终,通信采用RS232标准,通信速率为115 200 bps,使用CSerialPort串口通信类实现无人机向上位机发送飞机状态数据:俯仰角、滚转角、偏航角、经度、纬度、高度、速度、电压与通信信号强度。同时,上位机向无人机发送飞行航点控制指令。
另外,基于TVideoGrabber捕捉软件的二次开发实现了对无人机的视频监控,具有对视频实时显示、保存以及照相等功能。
1.2.2 飞行任务管理
地面操作员需要预先编辑好飞行任务航点,将任务航点装订,在地图上生成任务航线,从而便于操作员直观监督飞行状况。任务航点通过串口通信传送给无人机,控制无人机按照设定的任务飞行。若在飞行中遇到特殊情况,地面操作员可以随时介入,重新编辑任务航点,确保能够实时监控无人机,保证飞行安全。
飞行任务管理模块的用户界面,主要包括了添加航点、删除航点、标记航点、连接航点、发送航点、开始巡航、停止巡航功能。其中,添加航点是添加一个新的任务航点,包括航号、高度、经度、纬度和地速信息。可以手动在添加航点用户界面上输入相关信息来完成航点的添加,也可以直接使用鼠标在导航地图上单击添加航点。删除航点是对已经添加的航点进行删除操作,后续的航点会依次上移。标记航点是在地面操作员完成预设任务航点后,点击此按钮,能够在导航电子地图上标记出所有的任务航点与相应的航号。点击连接航点按钮,将会在电子地图上绘制出所有的任务航线。发送航点是通过串口通信将已经预设好的任务航点发送给无人机,为无人机飞行任务做好准备。开始巡航表示启动飞行任务,无人机将按照预设的航点进行自主飞行。停止巡航表示无人机飞行停止,通常是在任务完成后或者遇到紧急状况需要重新规划飞行任务时触发。
1.2.3 导航电子地图
地面操作员通过导航电子地图直观获取无人机地理位置信息,保证对无人机的实时监控。本文设计的地面控制站软件系统包含二维电子地图与三维电子地图,结合二者的优点,使得地理信息更为丰富全面,保证了无人机的高级监控。
1)二维电子地图。
二维导航电子地图选用Mapx的gst地图,能够离线查看,不需要联网,操作响应快,较为便捷[3]。在VC++开发环境下,基于Mapx控件可以直接加载gst格式的二维地图,实现了地图的各种扩展功能。在MFC框架下,使用鼠标消息响应函数获取屏幕坐标与地理坐标转换,从而使得鼠标在地图上移动时,可以在状态栏上实时显示鼠标所处位置的经度与纬度信息。基于MapX控件的相关图层技术实现了无人机飞行位置的实时刷新与地图标记,进而实现了无人机在地图上的导航定位与跟踪,航迹回放等功能,确保地面操作员准确地监管多旋翼无人机。
2)三维电子地图。
三维电子地图选用了Google公司的Google Earth,该地图整合了航拍照片、卫星照片和GIS矢量数据[4],具有可视化的空间特征信息,但需要联网支持,提供了离线下载功能。基于Google Earth COM API扩展接口,在VC++集成环境下实现了地图嵌入与二次开发,采用Windows Hook技术获取鼠标在地图上的坐标,通过建立全局鼠标Hook,拦截鼠标消息,建立动态链接库进而将鼠标坐标信息传送给主程序,从而实现电子地图缩放、鼠标捕获等功能。另外,基于KML文件的扩展接口开发了航点与航线的绘制,KML定义了地点、叠层、描述和多边形等相关地理特征。在KML文件中写入飞行航点的经度与纬度信息,再依次加载每个飞行航点的KML文件,便会在Google Earth地图中逐一绘制出各个航点连接成的航段,进而实现导航定位与跟踪功能。
图2描述了二维电子地图与三维电子地图的导航定位与跟踪,用蓝线表示飞行轨迹,无人机的当前位置在二维电子地图中使用蓝色小旗表示,在三维导航电子地图中使用黄色地标符表示,具有美观、醒目、可视化强特点。
图2 导航定位与跟踪
1.2.4 数据库技术
在地面控制站软件系统中,数据库提供了飞行数据信息的存储与调用,保证了安全可靠的数据管理功能。地面控制站数据信息主要有无人机飞行状态数据和飞行任务中的航迹数据。采用合理的数据库技术能够有效准确地保存飞行重要数据,快速调用相关数据为操作员提供航迹离线回放与数据回放,完成数据黑匣子功能。
本文开发的地面控制站软件系统是基于Windows操作系统,因此采用了接口简单、轻量级的Microsoft Office Access数据库。表1陈列了相关数据库访问技术的比较结果,通过对比分析,综合选择了具有快速访问速度和高代码效率的ADO访问技术。
表1 数据库访问技术比较[5]
最终,利用ADO技术建立的多个数据表,每个数据表都以时间命名,选择要查看的数据段便可回放相关飞行数据。
2 地面控制站软件系统用户主界面
将上述模块功能实现后,进而完成了地面控制站软件系统的开发工作,图3~5分别描述了地面控制站软件系统的3个用户主界面,分别为视频用户主界面,二维电子地图用户主界面以及三维电子用户地图主界面。其中,视频用户主界面支持两个视频接口,根据不同功能需求实现多方位视频监控。3个用户主界面都包括菜单栏、状态栏、工具栏以及无人机状态数据与仪表显示的相关信息,并且可以通过工具栏上的切换按钮任意切换主界面。
图3 视频用户主界面
图4 二维电子地图用户主界面
3 地面控制站软件系统的测试
为了验证本文开发的地面控制站软件系统的各项功能,进行了相关测试实验。某型多旋翼无人机的软件系统测试平台包括上位机、图传电台、无线数传电台、图像采集卡。实验地点位于吉林省公主岭市的某农场,某型多旋翼无人机进行播撒赤峰卵作业。
图6为地面操作员预先设定的飞行任务航点与航线。在飞行任务管理模块的添加航点界面中预先设定期望航点,点击标记航点按钮后,在地图中便生成了任务航点,接着点击连接航线按钮,最后确定任务航点准确后,发送这些航点到无人机,点击开始巡航按钮,飞机便按照任务航点自主飞行。图7绘制了该型多旋翼无人机实际飞行航迹。在任务管理模块中,点击停止巡航按钮,无人机便自主降落,结束飞行作业。作业完成后,开启航迹回放功能,在图8中分别列出了二维电子地图与三维电子地图的航迹回放,可以看出,二维电子地图与三维电子地图都能够准确有效地描述出无人机的飞行航迹。通过本文开发的地面控制站软件系统实时、高效地完成了某型无人机的飞行作业。
图5 三维电子地图用户主界面
图6 预设的飞行任务航点与航线
图7 导航跟踪结果
图8 航迹回放结果
由此可见,通过某型多旋翼无人机作业的实验测试,有效地验证了本文开发的地面控制站软件系统是一个功能完善、能够满足对无人机实时监控与管理的友好人机交互平台。
4 结论
本文开发了一套操作简便、功能完善的多旋翼无人机地面控制站软件系统。根据多旋翼无人机地面控制站软件总体分析,建立了地面控制站软件系统的总体结构。采用功能模块化方法,将地面控制站软件系统进行独立设计,分别实现了飞行监控、飞行任务管理、二维与三维结合的导航电子地图以及数据库技术等多个功能。最后,通过地面控制站软件系统的测试实验有效地验证了该地面控制站软件系统是一个具有完善功能、满足无人机实时监控需求的友好人机交互平台,目前已经在实际工程中得到了良好的应用。
[1] 宁金星, 卢京潮, 闫建国. 基于VC++的无人机飞控地面站软件的开发[J]. 计算机测量与控制, 2009, 17(3):596-598.
[2]乔志华, 李一波, 康绍鹏, 等. 基于虚拟现实技术的无人机地面控制站系统设计[A]. 系统仿真技术及其应用学术会议论文集[C]. 2008: 415-418.
[3]翟亚栋, 陈怀民, 吴成富, 等. 基于MapX开发的无人机导航系统[J]. 计算机测量与控制, 2008, 16(11): 1626-1628.
[4]马 俊, 杨 忠, 杨成顺,等. 基于Google Earth的人机交互平台设计[J]. 应用科技, 2010, 37(7): 6-10.
[5]李 想. 无人机地面导航控制系统软件研究与设计[D]. 哈尔滨:哈尔滨工程大学,2010.
Design and Development of Ground Control Station Software System for Multi-rotor UAV
Peng Cheng1, Bai Yue1, Qiao Guanyu2
(1.Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Science, Changchun 130033, China;2.University of Chinese Academy of Sciences, Beijing 100039, China)
According to demands on real-time monitoring for multi-rotor UAV, an integrated ground control station software system for multi-rotor UAV was developed. In the light of the overall design analysis of the ground control station software system for multi-rotor UAV, flight monitoring function, flight mission management function, navigation maps combined two dimension with three dimension as well as database technology function were all designed, respectively, which provided the powerful guarantee to supervise multi-rotor UAV. There were three nice main user interfaces that can be switched in real time so as to supervise the multi-rotor UAV for the ground operator. Finally, the ground control station software system was tested via the flight work of a multi-rotor UAV. It was verified that the ground control station software system had favorable monitoring function with simple operation and could fully meet demands on ground control station for multi-rotor UAV. It has been provided for users as the standard software.
ground control station software system; multi-rotor UAV; flight monitoring; flight mission management; navigation maps; database technology
2017-05-04;
2017-05-23。
国家自然科学基金项目(11372309;61304017);吉林省科技发展计划重点项目(20150204074GX)。
彭 程(1987-),女,吉林长春人,博士,助理研究员,主要从事无人机自动控制与软件开发方向的研究。
1671-4598(2017)07-0150-04
10.16526/j.cnki.11-4762/tp.2017.07.038
TP311.52
A