关于无人机飞控设备检测
2020-02-05闫翔
闫翔
(西北大学信息科学与技术学院 陕西省西安市 710000)
飞控设备是无人机机载设备的重要组成部分。无人机飞控设备的运行状况对无人机的安全与性能有着重要影响。飞控设备运行异常或出现故障,将严重影响无人机运行的安全性、可靠性。受到飞行环境因素的影响及零部件老化等因素的影响,无人机飞控设备的构件易发生故障。此外,滞空时间的延长也使无人机飞控设备发生故障的可能性有所增加。飞控设备作为一种典型的闭环非线性控制系统,其中一个环节出现问题,将会影响整个无人机系统的飞行安全,因此对飞控设备的可靠性要求较高。为了提升无人机飞控设备的可靠性、生存性、维护性,对飞控设备的检测进行研究十分重要。
1 无人机飞控设备的组成
飞控设备是无人机的核心部件,具有飞行控制、自主导航等多项功能。飞控设备的诸多核心功能均由无人机飞行控制软件实现。飞控设备包含硬件部分和软件部分,机箱、电源等属于硬件部分;软件部分则包含基于实时操作系统的控制软件和前后台式控制软件。在结构方面,无人机分控设备包括传感器子系统、飞行控制计算机子系统、伺服动作子系统等。无人机飞控设备的输出部分由舵面位置与无线电遥测构成,输入部分则由传感器信号与无线电遥控指令构成。飞行控制、飞行制导、飞行管理共同构成无人机飞控设备系统。
飞控设备系统的功能为确保无人机飞行轨迹的准确性,并确保无人机准确跟踪预定飞行轨迹。其核心功能在于以不同姿态角信号反馈为基础实现无人机飞行姿态的稳定控制,构成无人机飞行姿态稳定控制回路。飞控设备制导系统可对无人机飞行运动轨迹进行准确控制,确保无人机飞行时保持预定高度,实现对无人机航向、航迹及地面滑跑航向的控制。飞控设备的传感器可探测到相对目标的几何关系和侧偏等参数,通过传感器与制导系统的结合,进一步按照无人机制导要求及规律形成指令,将指令传输至飞行姿态稳定控制回路。飞行姿态稳定控制回路接收到制导指令信号后可对无人机方向舵、升降舵、副翼舵进行控制,从而实现无人机姿态、航向、航迹的改变,不仅可以确保无人机以为足够的准确度飞行,还能够使无人机更好地追踪相对目标。
2 无人机飞控设备的检测
2.1 飞控设备软件的检测
飞控设备是无人机的核心部件,承载着无人机飞行控制、自主导航等诸多核心功能,而飞控设备系统软件则具有实时多任务调度管理功能。无人机飞控设备的软件主要具有数值计算、硬件控制、安全保护、通讯、错误检测、错误恢复等具体功能。主要模块涉及传感器信息接收、控制率解算、输出控制执行、纠偏控制执行、滑行纠偏控制、自主导航等几大模块。因无人机飞控设备系统软件实时性要求高,在检测时需重点验证程序的执行时间是否满足系统规定的实践要求;因无人机飞控设备系统软件安全程度要求高,在检测时需进行充分测试。
表1:飞控设备系统软件的设计及检测之间的关系
表2:飞控设备系统软件单元测试中接口测试注意事项
无人机飞控设备系统软件的检测是为了确保无人机飞控设备系统软件的质量,测试应尽早介入系统开发过程中。无人机分控设备系统软件测试首先需明确建立设计与测试之间的测试模型。极限编程思想认为测试应贯穿于开发的全过程。因此借助改进的V 模型可将测试引入开发过程。传统V 模型的划分较为简单清晰,即先编码、后测试。但在软件实际开发过程中,比较适宜的方法是开发一段进行一次测试,再开发一段再进行一次测试,借助改进的V 模型进行编码与测试应反复轮换,实现编码与测试的“混沌状态”,避免所有编码完成后再次开展单元测试。作为一种软件开发通常采用的模式,结合无人机飞控设备系统的软件测试的特点,在无人机飞控设备检测中可尝试应用改进的V 模型进行飞控设备系统软件检测,具体的测试方案主要有需求分析阶段的测试、概要设计阶段的测试、详细设计阶段的测试,测试的执行过程则包含系统检测、集成检测、确认检测。与此同时,检测过程还包含1 个单元测试与编码的混合阶段,即混沌状态。改进V 模型将无人机飞控设备系统软件的设计及检测之间的关系如表1 所示。
无人机飞控设备系统软件的单元检测涉及4 个部分。其中飞控设备系统软件单元测试的基础是模块接口测试。这一部分测试的目的在于检测数据是否能够正确流入模块或流出模块,通过这一部分的测试,其他单元检测任务才有意义。单元检测首先应进行接口测试,具体注意事项见表2;其次进行局部数据结构检测,这一部分测试的目的是检测临时存储在模块内的数据执行程序时是否正确、完整,因飞控设备系统软件运行错误发生的根源多在于局部数据结构,故检测时应力求发现不合适或不相容问题、变量初始化问题、变量无初值问题、变量省缺值错误问题、不正确变量名问题、地址异常问题。除上述检测外,进行单元测试时需查清全局数据对单元模块产生的影响。基于整体测试模型可知无人机飞控设备系统软件单元测试需紧接编码之后,源程序编制完成后,即进行复审,复审完成后进行编译检查,编译检查结束后进行单元测试。无人机飞控设备系统软件的单元检测首先应针对代码进行静态测试,基于整个代码的内容与性质设计测试的具体内容,设计动态黑盒与动态白盒测试内容后开始执行测试,每测试一次便依据测试中发现的问题修改代码,每次修改代码后重复进行上述单元测试过程,发现问题后再次进行代码修改,不断反复“测试-修改”模式,直至符合软件需求。
完成无人机飞控设备系统软件单元测试后,需开展集成测试。无人机飞控设备系统软件集成检测主要涉及模块内检测、模块间检测2 个部分。模块内集成检测与模块间集成检测的重点为分配主机平台、目标平台的工作内容。无人机飞控设备系统软件集成测试时首先对主机平台软件静态进行检验,分析安全性编码与数据流、信息流等指标,并对流程结构进行判断,然后定义软件度量模型。完成上述操作后依据度量模型分析度量,执行插装代码后分析动态覆盖率,后基于Testbed 分析历史文件获取码动态执行信息,详见图1。无人机飞控设备系统软件的集成检测的集成级别有所不同,其中越高级别的集成对目标环境的依赖越强,越低级别的软件集成在主机平台上完成则更具优势。飞控设备系统软件的集成检测过程与主机平台软件集成检测过程大致一致,有所不同的是由无人机飞控设备系统软件宿主/目标机平台的软件集成检测由目标机完成执行部分,可选择软件插装也可选择硬件插装,宿主与目标机交叉编译完成编译部分。在无人机飞控设备系统软件集成检测中,基于有效的交叉测试策略能够提高测试水平与测试效率。值得注意的是正确使用LDRA-Testbed/TBrun 测试工具对无人机飞控设备系统软件集成检测也尤为重要。基于LDRA-Testbed/TBrun 进行无人机飞控设备系统软件集成检测流程如下:
(1)首先使主机环境执行静态测试;
(2)插装软件代码准备进行动态覆盖测试,基于源码执行主机环境功能测试,发现软件错误后及时予以修正;
(3)插装软件代码下进行动态覆盖率检测,基于所要求的覆盖率修正软件错误;
(4)在目标环境下使用源码执行功能测试,修正软件错误、测试脚本错误,确认目标环境下软件测试的正确;
(5)使用插装后的软件代码重复进行覆盖率测试,添加测试用例,检测软件覆盖率有无改变。
飞控设备系统软件集成检测的多数测试均在主机环境下执行,最终确定检测结果后,进行最后系统测试时移植至目标环境。主机环境到目标环境的成功移植是进行软件交叉测试的基础,有利于提高软件质量和软件维护。
2.2 飞控设备作动器的检测
图1:飞控设备系统软件集成检测流程
图2:无人机飞控设备作动器检测原理
无人机飞控设备中的作动器是由舵机和助力器组成的,由控制律提供输出信号,由线位移传感器测得输出信号。作为高阶非线性系统,无人机飞控设备作动器模型可采用二阶线性作动器环节、位置限制环节、速率限制环节的组合予以表示。飞控设备的作动器检测目的在于发现作动器的运行异常和故障情况,进一步分析作用器故障的性质、程度。飞控设备作动器检测的优劣主要取决于检测的实时性与检测的准确性,即作动器检测的时间要短,检测的需警率与检测的漏报率要低。作动器检测涉及的方法有直接等价空间法、暂态等价空间法、多余度等价空间法,检测原理如图2 所示。在飞控设备作动器检测中,故障预警信号产生后故障估计模块能够快速准确地针对故障预警分析出故障的性质与程度。
故障估计的实时性与估计的准确性对重构后的飞控设备系统性能可产生直接影响,在作动器检测重点是十分重要的环节。因作动器卡死故障对无人机的影响很大,故进行作动器检测时对作动器卡死故障的故障估计结果要求更高,一方面要求故障估计过程要快,一方面要求故障估计分析结果要准确。与此同时,应准确判断作动器发生的故障时卡死故障、增益变化故障还是偏差故障。鉴于无人机飞控设备作动器输出信号中存在噪声,故需要对作动器输出的估计值进行滤波操作,确保获取更为真实、准确地估计结果。第一,可对飞控设备作动器实际输出进行滑动窗口滤波;第二可对估计值进行滑动窗口滤波并在一个估计周期内进行估计值的均值计算。在获得故障参数估计值后,将估计值与故障性质判断门限进行比较即可确定作动器故障的类型,判断作动器发生何种故障。
3 结束语
现阶段,伴随科学技术的快速发展,一些新技术与新产品的不断涌现,使得无人机飞控设备的应用技术有了新的突破和新的发展。作为一个开放式、集成化、模块化的系统,飞控设备的检测和故障诊断尤为重要,基于传感器参数的校准构建具有较好的通用性与较强的扩展能力的检测方案有利于解决无人机飞控设备检测问题,借助适配器接口应用到更多型号无人机飞控设备的检测中也有利于检测方案的应用推广。但鉴于无人机飞控检测尚处于不断发展和完善的阶段,本文提出的检测思路上存在一些不完善的地方,希望在后续的研究工作中可以做进一步的改进,在改进V 模型的基础上进一步细化,完善目标机的集成测试、系统测试与交叉测试,还应考虑应用多元化的测试工具,大大提高飞控设备的检测效率。