以VC++为基础导航控制台仿真软件的开发研究
摘要:在无人机自主飞行当中,无人机地面站的导航控制系统发挥着重要作用。本文将编辑状态下导航控制台仿真软件的开发作为着重点,平台为Windows操作系统,借助VisualC++这一工具来进行开发,并对其功能作一论述。
关键词:VC++;导航控制台;仿真
伴随无人机在各领域中的广泛应用,控制系统各项功能在新技术的推动下,日渐完善与发展。在整个无人机系统当中,地面站作为其“神经中枢”,由传输系统、导航台及飞行控制台等构成。整个系统借助高速网卡、集线器对导航控制台进行有效控制,并连接于外部的监测机。如此一来,便能够使将飞行控制台与导航控制台充分连接起来,实现数据共享。针对导航控制台来讲,其乃是整个地面站导航系统当中的核心部分,主要借助其来对飞行控制台所发送的数据进行接收,以此来为无人机提供导航。本文基于VC++技术,就导航控制台仿真软件的开发策略作一探讨。
1.明确经纬度信息,规划于存储航路点
1.1明确经纬度信息数据
为了提高飞行的准确性,明确经纬度信息尤为重要。此导航台的导航地图所选用的是某城市的电子地图(1:500000),且用位图格式(*.bmp)。依据此城市的经纬度信息。首先,以VC++为基础,构建一个MFC工程,且于view文件的头文件当中的2个浮点类型的公共变量X0与Y0,将其当作基准点的经纬度坐标,且将其初始值设定为Y0为38,X0为116。得出latScale、longScale这两个变量,然后用于代表地图打开时经纬度的具体范围。其中,事先设定好的地图打开范围为X方向的最大打开范围为120km,Y方向为90km。基于view文件的头文件中,设置一个对象oomrc(CRect类)。因需显示经纬度信息,因此,需要转换地图坐标与视图坐标,最后,利用响应WMMOUSEMOVE句柄,同时借助状态条指针CStatusBar*pStatus,从中得到经纬度信息,最终便能在状态栏位置,将经纬度信息显示出来。
1.2规划与存储航路点
在整个导航控制台中,航路点的规划部分为其核心构成,对于无人机航路规划而言,依据任务目标规划,来最大程度满足约束条件的飞行轨迹,规划的最终目的时在比较合适的时间内,将最优的飞行轨迹给计算出来。因鼠标移动便能于状态栏下,观察到经纬度信息,因此,在地图上,可通过鼠标操作,来规划航路点,如此一来,便能够提升系统的可操作性。针对航路点的规划部分而言,其有如下步骤:其一为画航线,基于view文件,从中借助Ondraw部分,通过对设备类指针CDC*pDC进行定义,来对其LineTo、MoveTo进行调用,将航线画出来,然后利用画笔(白色)、画刷(红色),所产生的航路点为红色圆形背景,最后,通过操作鼠标,在视图中进行航路点的规划。其二,结束画线,借助view的头文件当中,设置公共变量startdrawline(bool类型),用其对画线是否执行加以控制。若是真,则表明开始画线,若是假,则表明画线结束。因此,在WMRBUTTONDOWN得到响应后,把此值设定为假,也就是结束画线。在操作过程中,便能点击鼠标右键,画线结束。
2.基于VC++下实现分隔视图即嵌入仪表
2.1实现分隔视图
为了能够对飞机的飞行施加准确控制,在设计过程中,特别加入了仪表显示。基于VC++的技术支撑下,借助分隔视图来最终达成。本文分别对两个可浮动且能够变换大小的控制窗口进行了设计,分别位于左边与下面。对于左边部分来讲,其用于仪表盘的显示,而下面则用作操作仪表的显示,游标用作导航地图窗口的显示。在此工程文件当中,添加了两个*.cpp文件,并且在stdafx.h文件当中,还根据实际需要,加入了#include"scbarg.h"与include"sizecbar.h",此事,便会有一个CCoolBar类产生。
2.2嵌入仪表
当将分隔视图创建好之后,需于左侧,将仪表嵌入,然后将能够操作仪表的按钮嵌入。利用GLStudio软件来完成仪表创建,针对此软件而言,其实为一个带有一定独立性的快速原型工具,主要用作三维、实时的图像界面的创建。其可以连接于LA/DIS仿真应用;另外,其所生成的OpenGL与C++源代码,能够单独运行,还能根据实际需要,将其嵌入到其它应用当中。本系统的界面要对真实飞机坐舱当中的各种显示仪表进行模拟,所以,在该系统当中,制作了航向表、高度表、地平仪与速度表,完成制作后,将其集成于一个可执行文件当中。在VC++的程序当中,仅需将嵌入仪表启动便可。
3.飞控台与导航台之间的通信
飞行控制台将飞行器的位置信息发送至导航控制台,其内容主要为高度、经纬度信息、航路点等。对于导航控制台来讲,其将此些信息处理后,将导航指令解算出来,且借助TCP/IP网络,向飞行控制台发送。针对此时的飞行控制台来讲,会把所接收到的此些指令数据与飞行控制指令相结合,借助UDP协议,向传输系统发送。因此,基于飞行控制台与导航控制台之间的通信来讲,尤为重要。本文仅将导航台不仅是客户端而且还是服务器端的情况给显示出来,即自发自收情况。在对航路点进行设置的对话框当中,将网络编程部分的按钮加入,且将编辑框加入。相似于普通的网络编程,均以TCP/IP协议为基础,且选用基于C/S模式下的新型套接字编程,需要指出的是,客户端与服务器如果为自身,那么在网络通信时,其中的监听部分需进行线程控制,且在此线程当中,主要对接受部分的内容施加控制,把发送部分的内容输入到既定的按钮当中。
4.结语
综上,设计此导航控制台仿真软件,可以较好的满足编辑状态下的各种功能,为地面站相关操作人员工作提供方便,使其更好的规划航路点,且进行修改,并存储数据;除此之外,还能实现与飞行控制台之间的数据共享,以此来更好的操作仪表,更加准确、及时的控制飞机飞行。
参考文献
[1]罗广孝.基于VC++的模拟集成电路设计实验仿真工具开发[J].实验室科学,2007(6):89-91.
[2]陈启香.基于VC++的计算机联锁系统仿真软件的研究[J].自动化与仪器仪表,2016(3):177-180.
[3]陈泽强,崔颖昕,曹叶文.基于VC++的通信原理实验仿真软件设计[J].计算机应用,2001,21(2):23-25.
作者白强崔胜彪
《以VC++为基础导航控制台仿真软件的开发研究》
- 职称论文刊发主体资格的
- 政法论文浅析工会法主体
- 化学在初中教学中的情感
- 中学教育论文思想政治方
- 法治论文投稿法治型市场
- 杂志社论文发表浅析推动
- 新疆教育报投稿浅析学生
- 分男女招生录取的合宪性
最新优质论文
- 如何提供职称论文的知网
- 论文发表三步曲
- 新闻专业有哪些职称
- 浙江师范大学学报编辑部
- 医学领域cscd期刊怎么查找
- 职称评定需要发表什么样
- 职称晋级论文检索才认可
- 教师类职称论文一般多少
论文发表问题热点
- 博士生毕业论文答辩技巧
- 简述机械工程师基础考试
- 硕士从助工晋升中级职称
- 毕业及职称论文发表需要
- 发表职称论文如何鉴别期
- 电力系统职称核心期刊怎
- 工程管理专业论文摘要准
- 《教育探索》核心级教育