一种侦察打击一体化无人机地面站软件的设计与实现

2018-11-16 03:59:42
传感器世界 2018年7期
关键词:导引头线程航线

中国电子科技集团公司第二十七研究所,河南郑州 450047

关键字:无人机;地面站;多线程

一、引言

近年来,无人机凭借设计灵活,成本低,零伤亡的特点,在多次战争中都起到了重要的作用。侦察打击一体化无人机,既能侦察,又具有打击毁伤能力,引起了各方的广泛关注[1]。无人机能不能发挥其最大的攻击潜能,取决于全自主飞行控制系统和火力控制系统综合形成的自主协调攻击能力,从而实现侦察打击一体化的能力[2]。作为无人机系统的重要组成部分,地面站系统[3-4]如何控制好侦察打击一体化无人机,顺利完成对无人机的飞行操纵、侦察和打击,也是提高自主控制能力以及打击精度的技术关键,是一项十分重要的工作。

本研究主要完成侦察打击一体化无人机地面站系统部分控制软件的规划和设计,基于分层模块化的设计思想,采用事件驱动的通信机制,实现了对侦察打击一体化无人机的飞行控制。

二、需求分析

1、设计目标

地面站软件系统是整个无人机系统的地面神经中枢,主要完成控制无人机的发射、起飞和回收,接收和处理无人机系统飞行数据,完成对无人机的飞行航线管理、操作与控制、飞行参数与飞行轨迹的综合显示、导引头工作参数以及视频图像的显示、数据记录、回放以及数据分析等任务。

2、软件功能需求

根据侦察打击一体化无人机地面站系统的设计目标以及实际应用需要,软件功能可概括为以下几个方面:

(1)能够制定飞行任务,支持任务的添加、修改、删除,可以根据不同的策略自动生成任务航线;

(2)能够控制无人机的状态切换,显示飞行数据、监视并显示机载和地面设备状态,保证飞行安全;

(3)具备控制导引头的功能,并能进行导引头状态显示以及视频图像解码;

(4)具有电子地图功能,能实时显示飞行轨迹;

(5)能记录并回放飞行数据,事后可对飞行数据进行处理和分析;

(6)保证系统稳定可靠、采取实时高效地数据传输机制,以满足大数据量的传输要求;

(7)人机界面友好,方便操作。

三、软件设计

1、系统框架

地面站系统软件基于分层模块化的设计思想,借鉴MVC开发模式,系统框架按照用户界面层、数据实体层和接口层分层设计。用户界面层为人机交互的主要部分,提供交互式的页面,用户界面层的各个功能模块共同实现地面站系统的主要功能。数据实体层负责数据的传递和处理,针对不同的模块,设计不同的控制类和界面层交互,从而完成各功能模块间的数据流向控制。接口层完成数据的存储和底层数据的接收处理工作。图1为地面站软件系统的框架图。

2、模块设计

地面站软件分为以下几个功能模块:

(1)航线规划:对无人机进行航线规划,可修改、存储至文件和从文件导入,并能通过测控链路上穿至无人机;

(2)无人机控制:对无人机的操作与控制主要是响应地面操控设备以及软件界面按键值,生成相应的遥控指令,封装至遥控数据帧,通过测控链路传输至无人机,控制无人机的巡航、俯冲、拉起和回收等操作;

(3)综合显示:飞行参数和飞行轨迹的综合显示,接收下行遥测数据,进行信息分解,显示无人机的工作状态、火控计算结果等,显示无人机的速度、姿态、位置等飞行状态;

(4)火控解算:通过无人机飞行参数、目标点位置信息以及导引头状态信息进行攻击区域、无人机视场解算等火控解算;

(5)电子地图:完成工作区域电子地图加载显示,放大、缩小、平移等地图功能;能显示原点、盘旋点、降落点等点信息;能显示规划航线、飞行航迹;

(6)导引头控制与显示:操控导引头搜索、捕获并跟踪目标,显示导引头的视频图像,监控导引头的工作状态;

(7)状态监测:监视机载和地面设备的工作状态,显示当前无人机的飞行状态,导引头的工作状态,在设备工作异常时告警,保证可靠飞行;

(8)数据记录、回放、处理与分析:存储飞行数据,能将存储的飞行数据进行数据回放,并对飞行数据进行处理,分析飞行过程,进行数据统计;

(9)通信管理:完成地面站与无人机之间的数据通信,管理遥测信息的接收和遥控指令的发送;

(10)链路控制:能够监视链路状态信息,能控制链路功率、频道等;

(11)日志记录:能够记录系统运行日志。

3、系统工作流程

地面站软件工作时,首先进行系统自检,自检完成后进行任务规划,操作员通过地面站软件观察导引头回传图像,根据目标信息判断是否手动搜索,例如,目标在视场内时在手动搜索模式下发送锁定指令进行目标锁定,目标在视场外在自动模式下通过数引指令引导目标,经过火控解算模块辅助决策是否攻击,之后对记录的数据进行处理和分析,完成整个飞行过程。地面站软件的系统工作流程如图2所示。

四、软件关键技术实现

本研究采用VS2010作为开发工具,以C#为主要程序语言,基于Net FrameWork3.5框架下进行开发,以此为基础设计实现地面站软件系统。

1、综合显示

系统的综合显示模块涉及的数据量比较大,要解决的关键是处理数据间的传递以及界面刷新的问题。采用多线程同步技术以及全局变量实现数据的传递,后台线程接收和处理数据,主页面线程通过全局变量读取已处理的数据成果,互不干涉,界面效果流畅。具体解决方法如下:

使用C#的System.Threading Thread类来实现线程。长时间抢占主线程会造成界面反应迟钝,因此系统采用后台多线程的方法监听端口和处理数据,线程间采用全局静态变量(static)、事件(event)、消息(message)和互斥对象(Mutex)的方式实现线程同步和调度,避免出现资源竞争而引起几个线程乃至整个系统的死锁[5]。

本系统采用事件驱动、全局变量的方式,通过消息来实现各线程之间的数据传递。系统开始,网络端口监测线程不断监测外部数据,接收到外部数据之后,不断将数据存储至数据缓存区,数据处理线程将缓存数据解析到数据实体类,供主页面数据刷新定时器中的方法调用并显示,同时解析完一帧数据后将解析完的数据移出。

综合显示模块流程图如图3所示,主要代码实现如下:

(1)建立TCP/IP连接套结字:

(2)新建网络端口监测线程,接收数据存入数据缓存:

(3)新建数据处理线程

(4)主页面刷新数据定时器访问数据实体类,将数据显示在主页面上。

2、基于MapX地图插件的航线管理

MapX插件拥有强大的地图功能,可实现地图的基本操作,如放大,缩小,平移等。使用MapX插件进行封装,本系统使用MapX地图插件封装成一个GMAP类,使用时需指定地图路径。封装的插件主要包括插件的初始化,工具栏的加载,点、线、圆等元素的标绘方法,坐标变换方法等。

航线管理[6]基于MapX插件,根据不同情况,设计有三种航线生成方式:

(1)通过鼠标点击地图上的点,输入航点形成航线;

(2)根据航线高度,航点边距生成以飞机原点为中心自动生成正方形航线;

(3)根据目标点信息、航线长度、航线宽度、风向信息、禁飞区,自动规避禁飞区,自动生成攻击航线。航线管理模块流程图如图4所示。

3、火控解算

火控解算是侦察打击一体化无人机的重要模块,是操作人员控制无人机进行锁定、攻击等指令时辅助决策手段,包含可攻击区域解算、目标位置解算、视场解算、目标引导解算和攻击阈值解算。

火控解算模块流程图如图5所示。主要方法设计如下:

(1)计算飞机的横滚角roll、俯仰角pitch和航向角yaw信息

public static void updateRbe(float roll, float pitch, float yaw);

(2)可攻击区域解算和攻击阈值解算

根据目标信息,攻击角度和飞机位置,可计算无人机的可攻击区域,根据飞机位置和已计算得出的可攻击区域判定攻击阈值范围:

public unsafe static void getGuide_area(position_FIRE target, position_FIRE point_Far, position_FIRE point_near, position_FIRE* point_One, position_FIRE* point_Two);

(3)目标位置解算

根据飞机位置、导引头参数,解算目标经纬度信息:

public unsafe static position_FIRE getTarget(position_FIRE flight, seeker s);

(4)视场解算

根据飞机位置信息、导引头参数计算视场区域:

public unsafe static field_video getArea(position_FIRE flight, seeker s);

(5)目标引导解算

根据目标位置信息和飞机位置信息,计算导引头数引参数:

public static seeker getGuide_cal(position_FIRE target, position_FIRE flight)。

五、应用实例

1、试验介绍

为验证本无人机地面站软件系统功能,结合无人机系统、无人机控制链路和无人机地面站软件系统进行了系统联调试验,试验过程及步骤如下:

(1)无人机系统(包含导引头)、无人机控制链路和无人机地面站全系统加电;

(2)无人机系统将系统机载状态、导引头视频信息通过无人机控制链路下传;

(3)通过无人机软件系统显示无人机系统状态等信息,记录下传的数据;

(4)对记录的数据进行回放;

(5)对记录的数据进行处理分析。

2、结果分析

在实际试验过程中,地面站软件系统运行流畅,无卡死卡顿现象。系统软件部署在三个台位上,分别是综合显示控制台位、导引头链路控制台位以及数据处理分析台位。

(1)综合显示控制台位

图6所示为综合显示控制台位页面,主要包括综合显示模块、火控解算模块和无人机指令控制模块。综合显示模块能实时解析并显示机载状态,如飞行模式、机载设备信息状态、飞机位置和航迹等(例如,通过菜单可进入航线管理模块页面,如图7所示,可新建、保存、读取、上传,查询航线操作等);试验过程中,火控解算模块通过解算功能将数据显示在页面中,辅助操作员决策;指令控制区域包含常用操作指令,能通过链路系统进行指令上传。

(2)导引头链路控制台位

导引头链路控制台位主要包括链路控制和状态显示模块、导引头控制和状态显示模块以及数据记录与回放模块。图8为导引头链路台位页面。链路控制页面能显示链路链接状态,可对机载上行、下行链路的状态进行显示,显示误码信息、功率信息等,操作简单方便。导引头页面可显示导引头状态信息、导引头方位和俯仰信息、导引头状态和自检信息,导引头图像清晰,视频无乱码。

图9为数据记录与回放页面。数据记录与回放模块直接在链路接收数据时对数据管理和记录,保证原始数据未做修改。可对已记录的数据进行加载,数据回放模块解析记录的数据,将解析后的各类数据进行显示,并模拟实际无人机系统数据向无人机地面软件系统发送。图9左图绿色高亮所示的复合数据、飞控遥测数据、飞控遥控数据等,解析完成后可通过网口发出至综合显示模块。

(3)数据处理分析台位

图10所示为数据处理分析台位页面,主要包括数据处理与分析功能模块。将记录的数据加载到数据处理与分析程序中,系统读取并解析成各系统状态量,可选择指定系统状态量绘制曲线;反过来,通过选取曲线上的点可读取此刻系统各状态信息。

六、结论

本研究设计的无人机地面站软件系统,经过工程试验检验,界面友好,操作便捷,长时间运行正常,有一定的工程应用价值。存在的问题是,在使用过程中,地图控件的功能仅能满足基本需求,例如缺少封闭区域填充纹理操作。在以后的工作中,将添加更多的功能以满足更多场合的需要。

猜你喜欢
导引头线程航线
(21)新航线
浅谈linux多线程协作
环球市场(2017年36期)2017-03-09 15:48:21
太空新航线
太空探索(2016年5期)2016-07-12 15:17:58
太空新航线
太空探索(2016年6期)2016-07-10 12:09:06
全极化雷达导引头抗干扰技术
制导与引信(2016年3期)2016-03-20 16:01:58
半捷联雷达导引头视线角速度提取
一种捷联式图像导引头的解耦算法
毫米波导引头预定回路改进单神经元控制
Linux线程实现技术研究
么移动中间件线程池并发机制优化改进