APP下载

基于RTX的无人机地面站系统

2017-09-28张文辉曹立佳

兵器装备工程学报 2017年9期
关键词:网络通信线程串口

张文辉,陈 欣,曹立佳,郑 惠

(1.南京航空航天大学 自动化学院, 南京 210016; 2.四川理工学院 自动化与信息工程学院, 四川 自贡 643000; 3.人工智能四川省重点实验室, 四川 自贡 643000; 4.火箭军工程大学 控制工程系, 西安 710025)

【信息科学与控制工程】

基于RTX的无人机地面站系统

张文辉1,陈 欣1,曹立佳2,3,郑 惠4

(1.南京航空航天大学 自动化学院, 南京 210016; 2.四川理工学院 自动化与信息工程学院, 四川 自贡 643000; 3.人工智能四川省重点实验室, 四川 自贡 643000; 4.火箭军工程大学 控制工程系, 西安 710025)

开发了一种基于RTX实时网络的无人机地面飞行监测和控制系统;该系统中各工作站内部采取Windows与RTX结合的方式,工作站间利用RT-TCP/IP实时以太网协议通信,具备数据存储回放、实时姿态显示、航路指令上传等功能,具有实时性强、可靠性高、人机交互方便等特点,完全满足无人机地面站使用需要,具有良好的扩展性。

无人机;地面站;网络;实时

现代无人机系统发展迅速,使得作为无人机系统“神经中枢”的地面站控制系统功能越来越复杂,数据传输量越来越大,对通信的实时性要求更高。传统的单工作站式控制地面站很难满足无人机系统的需求。针对这些情况,提出了一种基于实时网络结构的地面控制站系统设计方案,该系统由飞行姿态显示、导航指令两个工作站组成,飞行姿态显示工作站通过串口经无线电台与无人机飞控系统通信,两个工作站之间采用TCP/IP网络通信(图1)。Windows操作系统具有丰富的软件资源可以为地面站系统构建提供有效支持,但其自身非实时操作系统,实时性、可靠性不高[1]。为满足实时性要求,各工作站内部采用RTX环境实时扩展Windows系统,使其满足实时性需要,实现无人机地面站基本功能,包括结合无人机飞控系统发送遥控数据信息、接收遥测信息、导航定位和有效任务载荷的控制[2]。

图1 地面站通信连接形式

1 软件的总体设计

1.1 任务设计

工作站中实时部分主要进行数据的传输、校验与存储,非实时部分主要进行数据显示和操作人员输入,两者之间通过共享内存进行数据交换。用户可以在系统启动前选择CPU资源的分配情况,使实时与非实时环境分别运行于不同的CPU中。非实时部分在普通Windows环境下编译实现。实时部分在RTX环境中由rtss程序实现,系统初始化时由非实时部分启动rtss程序。飞行姿态显示工作站主要通过串行接口接收无人机下传的遥测数据,在界面中进行显示,将数据实时存储,通过RT-TCP/IP协议将数据传输到导航指令工作站。导航指令工作站接收到相关数据并显示到人机交互界面。如果键入指令则通过共享内存发送到实时部分,按照协议格式打包发送到飞行姿态显示工作站,由其通过串口发送至电台。软件设计上采用多线程形式,程序中每一个任务都对应一个线程。具体结构如图2所示。

图2 软件结构示意图

1.2 实时任务优先级设定

RTX实时系统调用C等基本库的部分可调用函数,创建多任务、实现任务间通信以及分配任务优先级等一些专用功能[3],Rtx环境中具体通过线程实现任务调度。RTX环境具备线程切换时间短,线程间资源共享方便的优点。可以分配多达128个线程优先级,支持静态优先级抢占式调度[4]。静态优先级抢占式算法有速率单调调度、截止时间调度等。截至时间单调调度己被证明是静态最优的调度算法[5-6]。该调度方法是指任务的优先级按截止时间分配。截止时间越短,任务优先级越高。截止时间调度优点是开销小,灵活性好,可调度性测试简单。在实际运用过程中,往往还要以调度算法为基础,结合任务的重要性等实际情况进一步确认任务优先级。经过分析,确定本地面站系统中实时任务优先级如表1所示。

表1 实时任务优先级

序号工作站任务名称优先级12345飞行姿态显示工作站串口接收99校验解帧98网络发送94遥控指令发送96任务管理80678导航指令工作站网络接收98网络发送99任务管理80

2 飞控界面设计

在 Windows 操作系统中使用Visual C++ 软件平台下基于对话框MFC应用程序框架,利用相应控件进行界面的开发工作。所设计的两个工作站界面如图3所示。

图3 两个工作站主界面图

2.1 飞行姿态显示工作站

本工作站界面主要包含以下几个部分:

虚拟仪表:主要采用自定义控件实现地平仪、速度表等虚拟航空仪表的显示。

数据曲线:使用曲线控件以曲线方式显示一段时间中状态参数变化,可以通过勾选数值状态显示区中相应选框选择显示俯仰角、横滚角、航向角、发动机状态等信息,以便操作人员了解无人机近期状态趋势。

数值状态显示:以数字、文字形式直接显示各类数据、状态信息,以便操作人员把握实时数值、状态。

2.2 导航指令工作站

本工作站界面主要包含以下几个部分:

导航地图:使用ARCGIS ENGINE作为地图导航模块的主要控件,它是一套完备的可用于二次开发的GIS组件工具库[7],按照相关航路参数利用其中的构造函数可以进行直线、圆弧等航路曲线的绘制显示,实现航迹规划[8]。通过显示过往航迹点及当前状态图片可以实时显示航迹曲线。由于显示确定地理位置信息的需要,该地图控件采用二维方式实现,界面中结合高度曲线图完成三维信息的展示。

指令操作界面:包含各种开关指令和遥调指令,操作人员可以通过这个界面对无人机进行控制。

3 遥测遥控通信实现

数据通信是地面站系统的核心工作,根据遥测遥控通信的数据传输特点,主要分为串口通信、网络通信、线程间和进程间数据传递四个部分进行阐述。

3.1 串口通信实现

串口通信帧分为上行遥控帧(32字节)和下行遥测帧(64字节),上行遥控帧结构为帧头、遥控指令、遥调指令、载荷参数以及帧尾。下行遥测帧结构为帧头、数据区、帧尾。

采用中断的形式进行串口通信,使用RTX API提供RtAttachInterruptVector函数挂接串口中断处理线程挂接到对应的中断向量上,中断处理线程在存储到缓冲区同时使用帧同步码区分出接收到的数据。当收到一帧数据时,将数据交付串口接收线程进行数据校验。数据校验分为两部分,一是检查无人机与地面站两端传输数据是否一致。校验方法与无人机通信协议有关,一般采用循环冗余检查方法(CRC)。CRC的理论基础是线性编码原理。待传送的k 位帧数据区按接收双方预先约定的某种规则进行处理,产生一个r位的校验码。将r位校验码加在帧尾区一同组帧发送出去,在接收端采用相同规则依据校验码对接收数据区进行差错校验[9]。二是检查无人机状态数据内容是否存在异常,例如无人机指令为平飞状态,需要俯仰角保持在一定限度。将接受的俯仰角数据与上下限比较,如果超出限度则显示报警。当通过串口发送指令时,将指令缓存在串口发送缓冲区。在写入串口之前,对串口是否打开和缓冲区是否溢出进行判断,如果是“否”则返回相应错误代码。当写入到串口发送缓冲区后使THR中断,写入发送保持寄存器。

3.2 网络通信实现

网络通信的协议帧结构为同步码、数据包类型、数据区长度、数据区4部分,数据包分为航路装订数据包、指令数据包、遥测信息数据包3类。

采用RT-TCP/IP协议栈实现工作站间的网络通信,RT-TCP/IP协议栈由缓冲区系统、定时系统和服务线程构成[10],底层驱动支持普通的PCI总线网卡,用户可以通过其官方网站获得相应的网卡驱动或者自行开发驱动。网络通信传输层在客户端与服务器之间建立TCP长连接用以交换数据。飞行姿态显示工作站作为服务器,导航指令工作站作为客户端。应用程序层面利用协议栈自带的socket嵌套字编程,采用多线程阻塞模式的网络通信结构。由于系统默认采用Nagle算法合并相连的小数据包,再一次性发送。当传输数据包较小时会造成延迟,所以初始化时使用setsockop函数对网络设置选项中的TCP_NODELAY项进行修改,关闭Nagle算法。

3.3 工作站内部数据传递

工作站内部的数据传递包含线程间和进程间数据传递两个部分,线程间的传递实现过程是在初始化时分配在进程堆中划分固定地址的上行、下行帧两个循环队列。将该队列的地址传入各线程。线程间通过队列整帧读取或写入数据。

由于界面与RTX部分工作在两个进程中,所以利用共享内存、互斥量、事件通知相结合的方式进行数据的传递。为了减少程序等待访问共享内存时间,分别设立三段共享内存,负责向非实时部分输入数据、接收非实时部分数据和接收非实时部分的界面输入。当一方需要传输数据时获取互斥锁将数据写入共享内存,后释放互斥锁,将对应的数据准备好事件置位。这时等待读取共享内存的线程接到事件受信通知后获取互斥锁,读出共享内存中数据。具体流程如图4所示。

由于Windows操作系统具有非实时不确定性的特点,所以实时与非实时部分读写共享内存的频率有时会不一致,需要在共享内存中应用环形缓冲区结构。

图4 进程间通讯形式

3.4 数据回放

本软件以二进制文件形式分类保存指令数据和遥测下行数据。数据存放于飞行姿态显示工作站,在保存的记录文件名中包含有日期情况,方便操作人员直观调用。数据回放的过程由RTX环境中的定时器实现,其定时器周期最低可以达到100 μs。在定时器处理线程中读取相应的二进制文件中数据,通过网络进行传递,更新两台工作站界面。通过修改定时器周期来选择数据回放的速率。

4 系统样例验证

采用地面仿真的方式对地面站系统样例进行验证。地面站系统与仿真计算机通过RS-232串行通信接口连接,地面系统各工作站间通过网络通信接口相连。连接效果如图5所示。

图5 系统连接图

网络通信模块是无人机实时数据传输的关键环节,主要用于对所传输数据的处理,对其性能测试的目的就是测试系统整体实现在逻辑和功能方面是否正确。经过长时间的、高负荷的测试,数据传输延迟最大值为39 μs,数据传输速率平均为 10 8191 kbyte/s。系统样例验证了基于RTX 的无人机地面站系统软硬件性能良好、实时性和可靠性满足要求。

5 结论

本文中地面站系统使用RTX实时环境,采用网络结构。该方法提高了地面站系统的可扩展性和实时性。通过将该地面测控软件与无人机地面仿真试验相结合可知,该测控软件具有准确性高、稳定性好以及良好的人机界面,满足了设计要求。

[1] 崔亚军,赵奎,王鸿亮,等.基于RTX的实时数据处理系统[J].计算机系统应用,2017(1):106-110.

[2] 罗珊,陈睿璟,路引,等.便携式地面测控系统[J].兵工自动化,2012,31(8):14-16.

[3] 刘树锋,陈欣,刘标.小型化无人机实时飞行仿真系统结构设计[J].兵工自动化,2014,33(6):27-31.

[4] 薛艳峰.基于Windows+RTX的便携式无人机测试系统设计与实现[J].四川兵工学报 2015,36(2):91-94.

[5] LIU C L,LEYLAND J W.Scheduling algorithm for multiprogramming in a hard real time environment[J].Journal of the Association for Computing Machinery (ACM),1973,20(1):40-61.

[6] LEUNG J Y T,WHITEHEAD J.On the complexity of fixed priority scheduling of periodic,real time tasks[Z].Performance Evaluation 2.4:237-250.

[7] 于宝堃,胡瑜,许国,等.基于.NET和ArcGIS Engine的GIS开发技术[J].四川兵工学报,2010,31(9):102-104.

[8] 仲筱艳,黄大庆.基于ArcGIS的无人机测控站地图导航模块设计[J].遥测遥控,2014,35(5):25-31.

[9] 罗志聪,孙奇燕.CRC-16算法与FPGA实现[J].四川兵工学报,2010,31(5):89-92.

[10] 李宏胜,李凡,赵岚.多任务网络通信在RTX下的实时性研究[J].组合机床与自动化加工技术,2016(2):72-75.

(责任编辑杨继森)

UAVGroundStationSystemBasedonRTX

ZHANG Wenhui1, CHEN Xin1, CAO Li Jia2,3, ZHENG Hui4

(1.College of Automation, Nanjing University of Aeronautics & Astronautics, Nanjing 210016, China;2.College of Automation & Information Engineering, Sichuan University of Science & Engineering, Zigong 643000, China; 3.Artificial Intelligence Key Laboratory of Sichuan Province, Zigong 643000, China; 4.Department of Control and Engineering, Rocket Force University of Engineering, Xi’an 710025, China)

Aiming at the actual requirements of UAV ground-based flight monitoring and control, a UAV ground station system based on the RTX real-time network has been developed. In the system, a combination of Windows and RTX is adopted within the stations, and the RT-TCP/IP real-time Ethernet protocol is used for the communication between the stations, so that the stations have the functions of data storage and playback, real-time attitude display, air route instruction upload and so on. The system is convenient for human-computer interaction with characteristics of real time and reliability. The practical results show that the system has good performance to fully meet the requirements of UAV ground stations, and has good expansibility.

UAV; ground control;Network; real-time

2017-04-11;

:2017-05-31

:人工智能四川省重点实验室开放基金项目(2016RYJ02);航空科学基金项目(201605U8002)

张文辉(1985—),男,硕士研究生,助理工程师,主要从事网络化系统控制技术研究。

10.11809/scbgxb2017.09.019

format:ZHANG Wenhui, CHEN Xin, CAO Li Jia,et al.UAV Ground Station System Based on RTX[J].Journal of Ordnance Equipment Engineering,2017(9):91-94.

TJ02;TP

:A

2096-2304(2017)09-0091-04

本文引用格式:张文辉,陈欣,曹立佳,等.基于RTX的无人机地面站系统[J].兵器装备工程学报,2017(9):91-94.

猜你喜欢

网络通信线程串口
实时操作系统mbedOS 互斥量调度机制剖析
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
基于国产化环境的线程池模型研究与实现
基于网络通信的智能照明系统设计
计算机网络通信常见问题与技术发展研究
基于网络通信的校园智能音箱设计
船舶电子设备串口数据的软件共享方法
On Business Incubation