本文介绍了飞行监控系统软件的组成、设计原理和工作流程,以及采用的关键技术,并说明了系统在联试过程中出现的问题和处理方法;飞行试验结果表明,本系统能够实时显示无人机的飞行姿态、飞行轨迹、位置及参数,实现任务航线的编辑、装订与显示,发送飞行控制指令,实时性高,操作方便。 The structure, design theory, working process and key technique for flight surveillance and control system are introduced in this paper. The problem and solution in the combined debug are showed. Flight test results show that the system can display attitude, track, position and parameters in real-time, realize the edition, fix and display of route, send flight control command, and work continuously for days without exception.
白金平1,彭丽2,高虎1
1电子科技大学航空航天学院,四川 成都
2成都工业学院,四川 成都
Email: fortbox1988@126.com
收稿日期:2015年1月25日;录用日期:2015年2月6日;发布日期:2015年2月11日
本文介绍了飞行监控系统软件的组成、设计原理和工作流程,以及采用的关键技术,并说明了系统在联试过程中出现的问题和处理方法;飞行试验结果表明,本系统能够实时显示无人机的飞行姿态、飞行轨迹、位置及参数,实现任务航线的编辑、装订与显示,发送飞行控制指令,实时性高,操作方便。
关键词 :无人机,地面站,飞行监控
无人机的地面控制系统,即地面站是无人机的重要组成部分。它是无人机系统的指挥控制中心,可以完成无人机的飞行操纵、数据链管理、机载任务设备控制,同时以数字和图形形式提供飞机飞行状态、图像侦查信息,实现对全系统的监控。目前,对于无人机地面站的研究已经成为国际上的一个研究热点。国外无人机系统地面站正在向智能化、通用化、模块化、系列化方向发展。随着计算机技术、计算机图形学和虚拟现实技术的飞速发展,无人机地面系统实践的不断深入,如何利用计算机网络、图形学和虚拟仪表进行无人机地面系统的设计成为了无人机地面系统研究的热点之一。
地面站是无人机系统的重要组成部分,它的任务是监测飞机的飞行状态和机载有效载荷的工作状态,使地面操作人员能够有效的对飞机和有效载荷实施控制[
根据当前无人机飞行监控地面站技术现状,将系统划分为以下几个部分,系统主要分为通信、数据显示、数据存储和历史数据回放四个模块,系统总体结构如图1所示,系统主界面如图2所示。
无人机系统使用的通信设备是3DRobotics的3DR电台无线数传电台进行透明式数据传输,因而只需实现地面站与数传电台的通信,上下位机之间的通信是直接的、透明的,为了保证数据的一致性,通信设备的收发和数据输出接口均采用RS-232串行通信方式。
RS-232通讯使用标准DB9公针输出口,采用异步通信方式,数据接口的数据刷新率不得超过50帧/秒,不得少于10帧/秒,数据波特率可以选择为9600、19200、38400、115200这几种波特率,8位数据位,无奇偶校验,1位停止位,无硬件握手协议[
使用RS-232串行通信必须采用异步方式,因此地面站的程序中,采用多线程的方法,在主进程中为每一个收和发都新建一个线程,保证接收数据、显示数据、存储数据、发送命令、输出数据等都得到及
图1. 四旋翼无人机地面站总体结构
图2. 四旋翼无人机地面站主界面
时、有效响应。
由于地面站与无人机的通信不仅仅是遥控遥测数据的发送接收,还包括有效载荷数据的传送,会涉及到多线程和多串口因此,本设计选用了第三方通信类CserialPortEx,它更适用于地面站下一步的开发工CserialPortEx类是一个基于多线程的类[
//{{AFX_MSG(CGCSView)
afx_msg LONG OnCommunication
(WPARAM ch, LPARAM port);
//}}AFX_MSG
然后在MapDlg.cpp文件中进行WM_COMM_RXCHAR消息映射[
BEGIN_MESSAGE_MAP(CGCSView, CRecordView)
//{{AFX_MSG_MAP(CGCSView)
ON_MESSAGE(WM_COMM_RXCHAR, OnCommunication)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
接着在主界面的源文件CGCSView.cpp中加入函数的实现,就可以对接收到的数据进行处理。
通信系统将解析后的数据送予航空仪表电子地图等控件,进行飞行状态飞行轨迹等信息的显示,以便地面操作人员对无人机进行可靠和有效的控制数据显示分为图形显示和文本显示图形显示具有直观,形象的特点,容易使用户有一种身临其境的感觉[
航空仪表使用GL Studio开发,如图3所示,GL Studio工具包主要由图形设计器和代码生成器两部分组成[
无人机当前位置和飞行轨迹的显示主要通过电子地图来实现电子地图显示采用MapInfo公司提供的MapX控件在Visual C++中即导入MapX.h和MapX.cpp两个文件,如图4所示电子地图模块,调用MapX类然后在视图中载入电子地图,它是一个扩展名为*.gst的文件,可以通过MapInfo地图软件来生成最后运用MapX对象的属性和方法,实现地图的放大缩小和漫游等基本功能本设计中是用接口函数实现这些功能的,只需调用接口函数,并确定相应的参数就能达到操作地图的目的[
地图放大:m_ctrlMapX.SetCurrentTool(miZoomInTool);
地图缩小:m_ctrlMapX.SetCurrentTool(miZoomOutTool);
当前位置居中:m_ctrlMapX.SetCurrentTool(miCenterTool);
地图漫游:m_ctrlMapX.SetCurrentTool(miPanTool);
图3. 航空仪表
图4. 电子地图界面
轨迹显示的实现主要通过调用地图/屏幕坐标转换函数,将接收过来的经纬度(即地图上经纬度坐标)转换为窗口中对应的坐标值(即屏幕上设备坐标),再根据屏幕上的设备坐标绘制出飞行航迹地图[
//将屏幕坐标转换为地图坐标
m_Map.ConvertCoord(&ScreenX, &ScreenY, &MapX, &MapY, miScreenToMap);
//将地图坐标转换为屏幕坐标
m_Map.ConvertCoord(&ScreenX, &ScreenY, &MapX, &MapY, miMapToScreen);
添加航迹显示函数,在视图的头文件中加入响应函数的声明:
//{{AFX_MSG(CGCSView)
afx_msg void OnToolTrace();
//}}AFX_MSG
在视图的源文件中加入该消息映射:
BEGIN_MESSAGE_MAP(CGCSView, CRecordView)
//{{AFX_MSG_MAP(CGCSView)
ON_COMMAND (ID_TOOL_TRACE, OnToolTrace)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
接着在视图的源文件中加入OnToolTrace()函数的实现,就可以实现飞行航迹的显示功能无人机飞行轨迹在电子地图上的显示是通过增加新的层,并把新层设置为活动层,然后在新层上增加新的特性,新的特性的颜色形状大小可以按照自己的要求定义,最后把它显示在地图上来实现的在无人机运动过程中,根据接收到的不同信息,可以将无人机定位到不同的位置,然后刷新地图就能实现无人机的移动。
地面站中除了以仪表和地图显示飞机状态外,还包括文本数据显示区,使得地面控制人员能够精确的掌握飞行参数,这些参数包括惯性导航数据、GPS定位数据、飞行状态监控数据等[
惯导数据显示区主要显示惯导系统给出的空中机器人导航数据,如上文所述,包括:俯仰角、横滚角、航向角,空速,气压高度,三轴线加速度、三轴角加速度。角度的单位为弧度(rad),空速的单位为
图5. 飞机状态数据显示区
Km/h,气压高度单位为m,加速度单位是m/s2。
GPS定位数据显示区需要显示的数据为:GPS经度(分)、GPS纬度(分)、GPS高度(m),GPS地速(m/s),爬升率,航迹角(rad)、磁偏角(rad),EHPE、EVPE,星数,时间(纳秒)。
飞行状态监控区主要包括以下数据的显示:开关指令回报,舵机转角、电机转速回报,飞机电源电量,飞行状态[
数据库需要记录所有空中机器人回传的飞行参数数据,特别是惯导数据和GPS数据,并提供数据输出接口,供数据分析。利用Access数据库,将实际飞行的数据进行存储设计中采用可以使用SQL语言的ODBC接口将数据保存到数据库中将实际飞行的数据进行存储后[
在选择了数据回放功能后,系统按照回放要求重新初始化程序,在初始化结束后,通过弹出对话框的方式供用户选择要回放的数据块选择结束后,系统从数据库中读出所选择的数据,并将数据显示在界面上,供用户分析,讨论结果。
以上程序已通过自行编制的地面站测试程序的验证,该地面站系统完成了如下功能:数据的实时接收处理显示存储回放电子地图与实际航线的同步显示与配准等功能,清楚地显示了无人机的重要飞行参数测试结果表明此地面站可以较好地进行无人机飞行参数的监测,工作稳定,可靠。
介绍了VC++环境下无人机地面控制站的设计与实现,并且对设计中的一些关键技术进行了验证无人机地面站可以较好的监测无人机的飞行状态,这为今后进一步的研究打下了基础此外,无人机地面站在实际应用中要与飞行区域的电子地图相匹配,因此还需要通用的数字地图库这些问题是下一步努力的方向。
白金平,彭 丽,高 虎, (2015) 四旋翼无人机地面站控制软件的设计与实现The Design of Flight Surveillance and Control System Software for Unmanned Rotorcraft’s Ground Control Station. 人工智能与机器人研究,01,1-7. doi: 10.12677/AIRR.2015.41001