论文部分内容阅读
维护性机内自检测(MBIT)是一套地面检测系统,它主要是针对地勤人员开发和设计的。将MBIT与飞行控制系统中的核心部件飞行控制计算机相连接,二者通过一系列控制信号来交互从而监测无人机各个子系统状态。然而,传统的MBIT系统通常只针对某一个具体型号而设计,不具备扩展性和复用性,同时在结果信息反馈中大多采用一维文本或二维曲线来显示,导致人机交互性能差。本文在深入分析系统内部架构和功能的基础之上,设计出一套完整的无人机MBIT系统,有效解决系统可扩展、可复用问题,并且还能改善人机交互性能。本文的主要内容如下:1.通过建造者模式来设计系统总体架构。由于不同型号的无人机测试功能不同,因此用一个类来封装一个对应型号的无人机测试窗口,各个类继承同一个基类,并且留有相同的接口。当新型号加入时,只需从基类再派生一个包含新型号测试窗口的子类即可,而旧型号的功能不会被改动,从而有效解决了系统可扩展、可复用问题。2.通过OpenGL来设计三维透视网格和三维实物模型。采用Bresenham算法来实现直线的扫描转换,并且通过两种不同颜色来设计三维透视网格;采用GEM算法来实现LOD技术,设计出不同精度的实物模型;最后通过对光照和材质进行设定并采用消隐技术,使得三维实物模型更加逼真且符合逻辑视觉。此外,通过OpenGL提供的平移、旋转、缩放接口来操控实物模型,使得一维文本和二维曲线能有效的转换成直观的三维数据信息,用户可以快速、准确的观测故障部位,从而有效改善人机交互性能。3.通过显示列表来设计虚拟仪表。OpenGL并没有提供文字库,因此需要借助操作系统提供的api接口,将文字的绘制命令存入显示列表中,当要显示文字时直接调用相应的显示列表即可。由于显示列表直接保存了命令的结果信息,因此避免了多次运算,从而能有效提高性能。4.通过单例模式来设计故障信息记录。系统在进行测试时会随时记录相应故障信息,因此用一个故障记录类来实例化该类的唯一对象,从而存储故障信息。由于该类自身负责对象的创建,并且提供一个全局节点来访问,因此能降低系统内部复杂度并且避免新产生的记录文件覆盖旧文件。本文以面向对象编程语言C++为基础,先进的设计模式理论为指导,通过结合虚拟现实技术完成了无人机MBIT系统的设计。在对各个模块进行测试和结果分析之后,验证了系统不仅具备可扩展性、可复用性而且还能有效提升人机交互性能。系统通用性强、易实现,在无人机地面维护测试领域具有较高的工程应用价值。