2024年4月1日发(作者:)

基于C#.NET位姿监控软件设计与实现

林辉灿;高鹰;石宇;刘扬

【摘 要】针对航空载体研制试验、跳伞训练等需要对定位和姿态实时监测的问题,

基于.NET框架使用C#语言在Visual Studio2010构建位姿实时监控软件系统,在

Dev控件和TerraExplorer基础上,构建平面显示和三维显示工具.采用数据总线的

思想,将监测终端上传的定位、姿态信息放到数据总线上,开辟子线程实现定位、姿

态信息的可视化;并将数据存入SQL2008数据库,用于后期分析处理提供重要依据.

经测试,设计的监测软件,具备良好的实时性与友好的人机交互界面;满足跳伞训练复

杂度高、节奏快对定位、姿态实时监测要求;亦可应用于其他定位和姿态监控领域.

【期刊名称】《科学技术与工程》

【年(卷),期】2014(014)036

【总页数】5页(P212-216)

【关键词】位姿监控;C#.NET;SQL2008;数字地球

【作 者】林辉灿;高鹰;石宇;刘扬

【作者单位】空军航空大学,长春130022;空军航空大学,长春130022;空军航空大

学,长春130022;空军航空大学,长春130022

【正文语种】中 文

【中图分类】TP311.52

跳伞训练具有训练强度大、复杂性高、节奏快、危险性高等特点,物资保障要求高,

联络救护难度大;且伞训易受气候条件的影响,伞训人员离机后,气候原因常使伞

训人员远离预定落点,在落入地面无人区或者水面上时,搜寻人员往往因为无法快

速获取伞训人员的具体位置,耽误救援宝贵时间,使搜救工作难度加大,严重时甚

至会造成人员失踪;而在夜间光线暗、视度差,夜间跳伞组织指挥程序复杂。如何

快速、准确、及时地获取伞训人员的位置信息及所处的环境信息对于提高伞训质量,

保障跳伞人员的生命安全至关重要。

文献[1]为某部队设计的伞训引导系统做了很多贡献,然而在定位和对地高度方面

有待改进;文献[2]研究的伞兵参数监测仪,未能与外界进行无线通信。基于

C#.NET平台[3],在软件编程及研究得到广泛应用[4,5]。C#语言作为微软的旗舰

编程语言,深受程序员喜爱,是编写高效应用程序的首选语言,广泛应用于实时监

测软件[6,7]、可视化[8]、监控管理系统[9]、模拟训练软件[10,11]等领域。本

文基于C#.NET平台设计实现监测软件系统,能够满足跳伞训练监测要求,最后结

合硬件监测终端综合测试验证本监控软件的有效性。

1 需求分析

伞训监测软件重点监测跳伞训练人员的姿态和定位信息,姿态信息:偏航角、俯仰

角、横滚角;定位信息:高度、经度和纬度。实时监测可分为如下两个过程。

1.1 离机下降过程

首先,为保障跳伞训练人员的安全,重点监测跳伞训练人员所处位置的对地高度以

及垂直下降速率;同时,实时监测定位信息为突发情况搜救行动提供重要依据,提

高训练的安全性。

其次,为评价训练效果,提高组训模式方法,增进教学质量,实时监测跳伞训练人

员的三维姿态;分析训练人员姿态的稳定性和姿态调整过程,评价参训人员的技能

掌握、心理素质和身体条件;将数据存储到数据库,作为改进教学方法的重要依据。

1.2 落地后返回过程

为迅速有效处置特殊情况(脱离预定区域、着陆时受伤等),根据发回监控中心的定

位信息,做到快速定位快速搜救,确保参训人员生命安全。

2 方案设计与实现

跳伞训练节奏快、危险性高的特点,要求监测工作具有良好的实时性与可靠性,同

时,要求监测数据具有良好的图形可视化功能及数据存储功能。

2.1 系统架构设计

监控软件采用串口与各个监控终端下位机进行通信,正确接收到下位机回传的数据

后,转化数据格式并放到数据总线上。开辟三个子线程,分别到数据总线取数据,

一是进行界面图表可视化,展示相对控制中心的方位和距离;二是进行三维数字地

球可视化,利用三维模型在数字地球中展示三维定位和三维姿态信息;三是进行数

据库更新存储,并在主界面中动态列表的形式显示。系统架构图如图1所示。

图1 系统架构设计Fig.1 System architecture

2.2 基于Modbus协议的一种改进

监控软件与下位机监测终端的通信协议,采用通用工业标准Modbus RTU协议,

设计一套主从式通信监测系统,实现数据集散控制,实现了监测软件与各个伞训人

员的无线通信协议问题。为解决伞训特殊环境通信容易受到干扰,在原Modbus

RTU回复确认指令基础上,设计了改进询问机制,当超出理论应答时间未接收到

应答数据或接收数据CRC检验错误,实现重复询问指令,提高通信可靠性。其中

程序设计流程如图2所示。

图2 基于MODBUS改进询问机制流程图Fig.2 Imporved ask flowchart

mechanism based on MODBUS

2.3 监控主界面设计与实现

监控主界面的核心是实时数据平面图形可视化和三维数字地球定位和姿态可视化,

另外,在将监测数据存储与数据库的同时在主界面进行数据列表动态更新。

2.3.1 图表可视化

平面图形可视化采用Devexpress公司基于.NET平台的数据可视化控件,界面布

局合理、颜色搭配美观,人机交互良好。具备两种监测模式,分别是全局监测模式

和单人监测模式。全局监测将所有训练人员的定位、姿态数据实时可视化于主界面;

而单人模式针对某个人员着重监测。

可视化主要分为两个部分,分别是对地高度可视化、相对监测中心定位和距离可视

化。

(1)对地高度可视化。

①全局模式。

基于Chartcontrol控件的Bar Series类型,设计满足该监控软件的直方图对地高

度显示工具,纵轴表示对地高度,横轴表示训练人员。将接收到得多个监测终端的

实时高度数据存放于数组中,作为更新该控件的数据源。随着不断轮询各个监测终

端的数据,该数组不断得到更新,进而实时动态显示各个监控终端的当前对地高度。

②单人模式。

同样基于Chartcontrol控件,为能更全面监控某一终端,选择类型为Spline,根

据输入的数据源数组,绘制曲线。在监控软件工作过程中,不间断询问该监测终端

的数据并将历史对地高度存放于数组中,随着该数组的更新,绘制而成的曲线即为

该终端随着时间推移的对地高度曲线。

下降速度以时速表的形式显示。根据近三次对地高度数据与相应量测时刻,根据牛

顿运动定律计算当前的下降率,应用模拟circularGauge1控件以时速表盘的形式

显示下降速度。

(2)相对监控中心方位与距离可视化。

全局模式和单人模式的方法相同,更新数据源分别为数组和单个数据。预先确定监

控中心的准确经纬度数据,以此为极坐标系中心,将接收到的监测终端的经纬度数

据转化为该极坐标下的坐标,并以图形的形式体现相对方位和距离数据。坐标转化

关系如下式所示。

θ=Atan2[(Y-Y0),(X-X0)];

式中,θ为相对方位角(°),L为相对距离(m),Atan2(x1,x2)计算正切值为x1/x2

的角度,(Y0,X0)为监控中心的经纬度,取(43.507 926 1,125.192 836 1),(Y,X)

为输入经纬度数据,1 110和555系数为当前纬度计算距离所需,根据地球表面

曲率求得。

2.3.2 数字地球三维可视化

TerraExplorer是一款SkylineGlobe出品的浏览器,用来查看由TerraBuilder创

建的三维地形数据集场景文件,打开通向数字地球的大门。数字地球实现定位和姿

态可视化的步骤如下:

(1)运行三维可视化应用开发工具,打开本地.mpt文件三维数字地球,

TerraExplorer6.0.1 3D Window可查看数字地球。

(2)导入三维飞机模型,根据需要设置模型的尺寸、初始位置及姿态,保存整个文

件为.fly文件。

(3)监控软件添加xplorerX和TerraExplorerX两个引用,接收

到数据后,以下核心代码即可实现三维定位和三维姿态可视化。

ItemID = em("f16_2");

plane[0] =(object)ectEx (ItemID, "6546564");

plane_ObjID = (ITerrainLocation5)plane[0];

plane_ition(longitude, latitude, height, yaw, yitch, roll, 0);// 三

维模型的位姿6参数设置

(longitude, latitude, height, height, 0, -90,"JumpToLocation");

2.3.3 实时数据表格更新与存储

在监测主界面的下方,实时的显示所有监测终端发送到监测中心的原始数据,利用

gridControl控件的二维表格,每一行对应一个终端的数据,不断动态更新,是整

个系统处于正常运作的标志。同时,将数据存入SQL2008数据库。

2.4 数据库设计

考虑到监测软件的数据量不是很大,需要存贮的数据相对简单,因此数据库采用

SQL2008即可满足要求,在满足功能的基础上,降低系统设计的复杂度,同时,

减少系统资源的不必要消耗。

设计了两张数据表:

2.4.1 伞训人员及相关信息

记录每次使用伞训定位和姿态监测软件系统进行跳伞训练人员的基本信息,包括人

员的编号、姓名、年龄、体重、身高等,该数据表与实时监测数据表的数据对应。

一是完善数据的记录功能,二是可为后期数据分析处理提供方便,可追踪具体跳伞

训练人员的训练水平。

2.4.2 实时监测数据

实时地全面地记录参加跳伞训练人员训练期间的一切数据,用于后期分析处理,对

提高跳伞训练人员的训练水平、组织训练方法等具有重要意义。

3 系统测试

3.1 虚拟串口测试监测软件的实时性

在监测软件的开发期间,开发伞训监测终端模拟软件助手,该软件助手具备监测终

端接收询问指令并进行应答的功能,数据采用随机数产生机制生成。使用VSPD

XP 5虚拟串口,建立监测软件与软件助手的通信连接,验证监测软件的准确性,

用于测试监测软件的实时性能和可靠性,为监测软件的顺利开发奠定坚实基础。伞

训监测终端模拟软件助手的主要流程如图3所示。

图3 监测终端模拟软件助手Fig.3 Monitoring terminal emulation software

asistant

3.2 实际测试

应用课题组现有的基于STM32的嵌入式跳伞训练监测终端,通过无线传输模块,

以定义好的通信协议,经过RS232串口与计算机建立通讯连接,进行实际测试。

实测过程中,将监测终端放置在小型航模上,实测效果如图4~图6所示。

图4所示为同时监测四个硬件监测终端,左侧纵轴表示对地高度,横轴表示训练

人员,分别用四个颜色的直方图表示四个监测终端对地高度;右侧为极坐标系下的

方位和距离可视化,并用数字标注相对监测中心的距离;下方为原始接收数据动态

列表。

图5为单一模式下的图表监控实测界面,试验时间为2014-6-1下午,试验方式为

手持安装监测终端的小型航模绕航空大学1号田径场行走。实时绘制对地高度曲

线,方位距离和下降速率如图5所示。反映试验期间监测终端高度、方位、距离

和下降速率基本准确,可进一步进行精度试验。

图6为数字地球三维姿态和三维定位的试验界面,试验条件及方式同图5。图6

示为定点三维姿态监测试验,监测定位点准确,航向角、俯仰角和横滚角的三维姿

态监测达到预期的目的。

图4 高度、方位和距离可视化Fig.4 Visualization of height, azimuth and

distance

图5 高度、方位距离和下降速度可视化Fig.5 Visualization of height, azimuth,

distance and speed

4 结语

本文基于C#.NET技术和SQL2008数据库,结合数字地球虚拟可视化技术及Dev

强大图形界面功能,设计开发出一套通用型的姿态和定位实时监控软件系统,并成

功应用于跳伞训练保障与教学改进,提高了跳伞训练安全保障水平和伞训质量,解

决了跳伞组织指挥程序复杂、联络救护难度大的难题。从系统联调测试的效果看,

本系统设计的监测软件,实时性好系统稳定,满足伞训要求。下一步在数据库的应

用、与硬件监测终端通信协议及数据校验等方面还有待进一步研究,如研究使用国

际通用小型飞行器MAV通信协议等。

图6 数字地球定位和姿态可视化Fig.6 Digital earth visualization of position

and attitude

参考文献

【相关文献】

1 王 伟.伞降引导系统的设计与研究.乌鲁木齐:新疆大学,2013

Wang design and research of parachute guidance system. Wulumuqi:Xinjiang

Unicersity,2013

2 解瑞浦.伞兵参数检测仪研究.长春:长春理工大学,2012

Xie research on mutifunctional measuring system fou paratroopers’

parachuting parameters. Changchun: Changchun University of Science and

Techmnology,2012

3 李 杰.基于C#.NET的电力监控主站后台监控程序的设计.厦门:厦门大学,2008

Li design of baceground programme of the electrial monitroing system based on

C#.NET. Xiamen:Xiamen Univerity, 2008

4 Rao K P,Babu G A. Microsoft C#.NET program and electromagnetic depth sounding for

large loop source. Computers and Geosciences, 2009; 35 (7): 1369—1378

5 Grossu I V,Besliu C,Jipa A I,et al. Code C# for chaos analysis of relativistic many-

body systems with reactions. Computer Physics Communications,2012;183 (4):1055—

1059

6 李 志,贾克斌,李真真,等.基于.NET MVC构架的网上珠宝销售系统的设计与实现.计算机应用

与软件,2013;30(3):186—189,192

Li Zhi,Jia Kekebin,Li Zhenzhen,et and implementation of jewelry sell system

based MVC er Application and Software,2013;30(3):186—

189,192

7 雷浩然,陈 帅.基于MFC的组合导航监测软件快速实现方法.计算机应用,2013;33(S1):262—

264

Lei Haoran, Chen Shuai. Rapid implementation method of monitoring software for

integrated navigation based on MFC. Journal of Computer Applications,

2013;33(S1):262—264

8 齐 锋.警戒雷达网融合发现概率可视化方法研究.计算机工程,2013;39(9):277—280

Qi Feng. Study on visualization method for fusion detection probability of warning radar

net. Computer Engineering, 2013; 39(9):277—280

9 李叶妮,江小霞,林少芬.基于C#技术的船舶监控管理系统的设计.船舶工程,2008;30(2):42—

44

Li Yeni, Jiang Xiaoxia, Lin Shaofen. Design of the marine monitoring and management

system based on C# Engineering, 2008; 30(2):42—44

10 贾雨生,谢晓丹,滕云飞.可见光/红外双通道模拟训练软件设计.计算机工程,2012;38(19):

37—40

Jia Yusheng, Xie Xiaodan, Teng Yunfei. Design of visible light/infrared dual-channel

simulation training software. Computer Engineering, 2012; 38(19):37—40

11 张 梁.无人直升机姿态与轨迹运动地面模拟器设计与实现.南京:南京航空航天大学,2010

Zhang Liang. Design and implementation of ground simulator for unmanned helicopter

attitude and trajectory motion. Nanjing:Nanjing University of Aeronautics and

Astronautics,2010