Windows平台下的无人机导航地面测试软件的设计探析
来源:用户上传
作者: 刘大伟
摘要:在军事应用上,Mini-UAV由于具有着一定的隐蔽性以及保密性,因而单纯的采取人工遥控导航的飞行方式是不能够满足现实需求的。对此,本文对设计开发出的一种人工遥控导航和自主导航相互结合的、小型无人机地面导航显示系统进行了介绍,导航显示系统具有着定位、显示以及路线优化等多方面优越的性能,因而更加具有着广泛的实用价值。
关键词:Windows平台; 无人机; 导航显示软件; 地面站设备
小型无人机,英文简称为Mini-UAV,通常情况下是指飞行器的最大起飞的重量小于10 kg的无人机。本文在阅读了大量GPS导航的相关资料基础之上,针对于小型无人机所具有的特点,设计开发出了一种人工遥控导航和自主导航相互结合的、小型无人机地面导航显示系统。该显示系统具有着飞行监视以及记录回放等优良的功能。导航显示系统是无人机地面站的控制系统中重要的组成部分,具有着定位、显示以及路线优化等多方面优越的性能,因而更加具有着广泛的实用价值。
一、系统构成
导航显示软件以及地面站设备两部分共同组成了本地面站系统,而其中的视频接收机、天线以及视频眼罩共同组成了地面站的设备。
1.导航显示软件
作为一种软件系统,导航显示软件运行于地面站的计算机上,是无人机的管理系统以及飞行控制系统的核心部件,主要的作用是进行飞行任务的管理、任务设备的管理、系统的自检以及地面通讯等。而飞行任务管理包括了电子地图配准、航线的规划和飞行状态的监视等;任务设备的管理包括了任务设备的控制以及任务设备状态的回送。
首先通过机载飞控系统读取出GPS的接收信号当中的自主导航所需的数据,其中包括了经度、纬度以及高度,之后依据由用户数据而确定的当前Mini-UAV的位置以及飞控系统的存储器当中预定航线自主导航飞行。与此同时,机载飞控系统还需将输入于机载发送器的用户数据发送到地面,之后通过单片机接口电路将用户数据输入于计算机当中来进行处理及显示,地面人员以此对Mini-UAV自主导航飞行的情况进行观察。
2.视频接收
在无人机地面站的系统机载视频载荷和地面通讯时,其核心设备是地面站的视频接收机。视频接收机和飞机之间有两条无线单向通信线路,即机载视频信息以及低速下行的数据链。视频模拟信号经调制之后,通过视频发射机发射到地面站。经天线地面站视频接收机对视频信号进行接收,之后视频信号通过网络伺服器来进行解调,从而通过地面站的显示器显示出来。
二、通信服务程序
在设计地面站的过程中,SRV100作为一种具备路由功能的通讯服务程序而被应用于其中。无人机与地面站的计算机之间可以通过该程序而实现组网的功能。
通过无线数传地面站,计算机与无人机之间能够进行通信。从物理的角度而言,地面站的计算机之间应用TCP/IP通讯,即UDP协议,因而任意的两个设备之间均有数据联系通路。而从逻辑上来看,分布在地面站计算机上通讯服务的程序,负责对所有的飞行数据帧进行转发,并且通过用户手动进行填写的路由表,而实现任意的两台飞控设备之间广播式或者是点对点的通讯。
三、GPS数据采集和显示
1.开发环境以及方法
软件系统设计与实现的较新的方法,是面向对象的程序设计。通过对Visual C++6.0有效的利用,各种菜单以及大方且美观的图形界面可以较为方便的生成,同时软件的质量也比较高,而且开发的周期也相对比较短。在Windows的环境之下对GPS的应用软件进行开发,各种硬件资源完全由操作系统进行了接管,而用户不能够对串行口中断管理进行直接的控制。在以往的情况下,要想对串行口进行控制,程序员只能是通过API函数来进行,但由于API函数的数目繁多,因而此方法显得较为复杂。通过Visual C++6.0提供的Microsoft Comm Control(MSComm),一种Active x控件,用户利用此控件可以较方便的对计算机串行口通讯进行管理。
2. GPS的数据格式
本文应用的LEA系列的GPS接收机,是由瑞士的u-blox公司进行研制开发的。他采用了NMEA-0183的标准通信模式,其输出数据是应用了ASCII的字符码,GPS接收机输入以及输出的语句,均按照串行通信协议,将数据格式设置成为8个数据位。在这8个数据位当中,有1个为起始位,1个为停止位,没有奇偶校验,其波特率是9 600 b/s。通过GPS可以输出功能不同的、多种数据语句,而其中包含了GGA的定位数据语句。
3.数据的处理以及显示
位置信息栏以及电子地图是本导航的显示软件中核心的两部分。通过位置信息栏可以对GPS接收机所接收的数据进行实时的显示,而GGA的定位数据当中的纬度、经度以及高度,是其中的导航显示软件需要的数据,自定义所进行发送及接收的数据为:4020.736723N11647.862761E57.70。用户飞行器中预定的航点、预定的航线、当前的位置以及实际的航迹等,均在电子地图当中进行了显示。
4.编程实现
(1)将 MSComm控件插入于程序中某个窗体之上,并且对其相应的属性值进行设置。在该MSComm控件OnComm的事件当中,对接收缓冲区当中的数据全部进行读取,并且将有用的字符串以及一帧所需的完整数据从所读出的数据当中截取出来,并且将所截取出来的字符串以及数据赋值于三个文本框控件,文本框为TextBox,以此进行显示以及保存,并且将相应Button按钮控件也予以附加,以使地面站对无人机飞行时的姿态进行更好地控制。在必要之时,利用所保存的数据,可以将某次Mini-UAV的自主导航飞行情况进行复现,以便对自主导航飞行效果进行分析。
(2)根据已经读取出来的纬度、经度以及高度值,应用图片框Picture Box控件,对预先设定好的飞行航线以及自主导航实际的航线进行实时的显示,以便地面人员对Mini-UAV自主导航的飞行情况进行实时的了解以及分析。
(3)针对应用需求,在设计开发时附加两个复选框(Check Box),设置其相应属性值,分别定义为盘旋和回家。利用Windows API通信函数对控件进行串口编程。当无人机达到目标航点时,选中复选框(盘旋),无人机收到指令将在目标航点上空盘旋飞行。在初始化无人机时,选中复选框(回家),当无人机飞出遥控范围,失去所有指令时,无人机将自动执行预先在飞控系统中设置好的回家指令,朝着起飞地点自主飞行。
参考文献:
[1] 王国成,段连飞,基于VC实现的无人机地面导航系统设计[J],探测与控制学报,2008,21:36-37.
[2] 庞洪,吴春,牛申阁,基于VC++的小型无人机地面控制导航软件设计[J],桂林航天工业高等专科学校学报,2008,3:70-72.
转载注明来源:https://www.xzbu.com/2/view-423270.htm