空间站科学实验载荷通用地面检测系统设计

2021-05-14 07:48吉经纬吕德胜
测控技术 2021年4期
关键词:配置文件科学实验载荷

吉经纬, 李 琳, 于 歌, 汪 斌, 任 伟, 吕德胜

(1.中国科学院上海光学精密机械研究所 量子光学重点实验室,上海 201800;2.中国科学院大学 材料与光电研究中心,北京 100049;3.中国科学院空间应用工程与技术中心 中国科学院太空应用重点实验室,北京 100094)

载人航天工程是当今世界高新技术发展水平的集中展示,是衡量一个国家综合国力的重要标志[1]。中国将在2022年前后完成空间站建造并开始运营,预计在轨运营时间将在10年以上[2]。在轨运营期间,国内外众多空间科学实验将在空间站进行[3-4]。由于载荷在轨维修困难且更换器件费用高昂[5],为了使载荷能在轨顺利运行,进行充分的地面测试是确保载荷的在轨功能、性能的必要手段。因此,设计一套用以科学实验载荷地面测试的地面检测系统是非常必要的。

近年来,很多文献都对地面检测系统进行了研究[6-9],但以往大部分的空间载荷由于各自研制单位不同,对应研制的地面检测系统大部分是不通用的,且相对功能都比较单一。并且空间站大部分科学实验载荷都以科学实验为目的,具有实验复杂、可调参数多的特点。随着人工智能技术的发展,国内外很多科学实验都采用了基于人工智能的方法来优化实验参数,且经过人工智能优化后的参数比人类的经验参数结果更好[10-11]。笔者介绍了一种通用型空间站载荷地面检测系统,该系统能模拟空间站实验柜控制器,对科学载荷进行地面测试,同时该系统基于人工智能技术,通过遥科学等手段辅助,可实现科学实验载荷在轨实验参数优化功能。地面检测系统的软件部分基于Qt、Python和SQLite3。Qt负责实现图形用户界面应用程序;Python负责实现利用人工智能优化载荷科学实验参数;SQLite3作为数据库管理系统,用于存储数据。通过软件模块化处理,提炼出不同科学实验载荷间的共同需求,将接口与内部分离,采用修改配置文件的方式来满足不同载荷的多样化需求,极大提高了地面检测软件的灵活性和可重用性。硬件大部分采用成熟的商用器件,在增强地面检测系统可靠性的同时,提高了地面检测系统的研制效率。

1 系统构建

1.1 设计需求

从通用性角度分析,由于各个科学实验载荷与空间站实验柜控制器之间的接口数据单是不同的,为了实现地面检测系统的通用性,必须对地面检测系统做相应的设计,使其能通过读取配置文件,识别不同载荷的接口数据单,完成不同载荷的数据注入和数据监显功能。

地面检测系统主要模拟空间站实验柜控制器,其共性的需求如下。

① 地面检测系统通过RS422和以太网接收科学载荷的数据,注入实验指令。

② 模拟量的采集,即采集载荷温度、电流等模拟量,并对数据进行判断及存储。

③ 程控指令,主要是控制继电器开关。

④ 基于one-wire总线的火警监测。

⑤ 指令和载荷数据异常报警,以及数据统计。

地面检测系统通过完成上述共性需求,就能满足大部分载荷的功能需求。

除此之外,科学实验类载荷还具有实验复杂、环境因素存在不确定性、预计可调参数数量庞大的特点。例如,由于空间环境与地面环境不同,科学载荷在轨的实验参数往往没有经验模型,大量实验参数需要在轨重新调整。因此,地面检测系统需要基于人工智能技术,通过遥科学等手段辅助,实现科学实验载荷在轨实验参数优化功能[12]。

1.2 总体设计

根据上述需求分析,对空间站有效载荷地面检测系统进行了总体设计,考虑到通用性,地面检测系统硬件主要选用商业模块进行部署。因为商业模块具有接口齐全、部署时间快、可移植性强的优点,能满足不同载荷的需求。软件部分采用了模块化的设计,将软件的耦合度降低,即使个别载荷有特殊需求,也仅需修改少量的代码。系统组成如图1所示,软件系统集成于上位机中,测试人员通过监显画面与发送数据注入指令来控制与测试科学实验载荷。

图1 地面检测系统组成框图

1.3 硬件设计

地面检测系统硬件主要选用商业模块,具有部署时间短、功能可移植性强等优点,能很好地适应目前航天任务复杂、研制周期短的任务特点。其硬件主要包括有上位机、USB-6353模拟量采集卡(NI公司)、PCI-6517数字量输出卡(NI公司)、LCT2662M模块(长信物联公司)和U-Port1600-8USB转RS422/RS485模块(MOXA公司)。

地面检测系统硬件通过LCT2662M模块将one-wire总线的数字温度传感器DS18B20的数据转换成RS485通信总线可以传输的数据,这样上位机可以通过RS485读取相应的温度情况。USB-6353模拟量采集卡主要实现科学实验载荷的模拟量采集功能,该采集卡共有16路差分模拟采集通道,模拟输入分辨率为16-bit,满足载荷模拟量遥测采集的需求。PCI-6517实现程控指令的输出,共有32个通道,输出电压为0~30 V,满足大部分继电器的工作需求。

1.4 软件设计

地面检测系统软件设计采用具有解耦合设计理念的MVC模式,将系统软件分解为模型、视图和控制器三大部分,MVC模型如图2所示。M即Model(模型),用于表示业务规则,它是按照不同方式来存储的数据抽象;V即View(视图),是指用户看到并与之交互的界面即软件的客户端界面,包含了数据的交互;C即Controller(控制器),是指控制器接收用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出,也不做任何处理,只是接收请求并决定调用哪个模型构件,然后再确定用哪个视图来显示返回的数据。通过MVC模式的软件设计,将软件的界面显示、逻辑控制和数据存储相互解耦,各个部分的改变对其余的影响会降至最低。

图2 MVC模型示意图

同时,地面检测系统基于Qt、Python、SQLite3采用模块化设计,软件系统根据功能主要划分为数据监显、数据注入、配置文件读取、通信、数据库、数据处理和人工智能优化参数七大模块[13]。其中,通过对数据注入模块、数据处理模块和通信模块进行相应设计,实现地面检测系统的安全性、可靠性设计,保证载荷测试时的安全与可靠;通过对数据监显、配置文件读取和数据库模块进行相应设计,实现地面检测系统的通用性;同时,利用人工智能优化参数模块实现载荷在轨参数优化功能。

1.4.1 地面检测系统通用性设计

由于不同载荷的工程数据、应用数据、注入指令是不同的,需要进行个性化配置。 考虑到地面检测系统的通用性,配置文件读取模块以数据为中心,应用至不同载荷时可以读取配置文件,进行界面的自动配置。很多软件也有读取配置文件的功能,但这些配置文件往往都只有关键信息,对于没有学过编程的人来说,可读性比较差。因此这些配置文件无法作为与总体单位签署的接口数据单,而将数量众多的接口数据单翻译成软件能识别的配置文件是一个烦琐、耗时、容易出错的工作。

为了尽量减少测试人员的工作量,地面检测系统会先把Word表单自动复制为Excel格式,然后基于QtXlsx函数进行表格读取。由于表单中有大量不规则的单元格,首先找到最小单元格作为基本处理单位,然后遍历整个表单,软件将在识别到关键字的单元格时,检测其相邻单元格,如果符合预先设置的格式,就将单元格的内容作为配置数据。这样设计后,配置文件的格式与载荷和总体单位签署的接口数据单基本一致,测试人员不需要重新编写配置文件,大大减轻了工作量。软件可以自动从接口数据单提取到需要的数据,完成软件监显和数据注入的重新配置。

数据监显模块负责载荷的工程数据和应用数据的显示,具有友好的人机交互界面。不同的载荷可以通过配置文件来定制个性化监显界面。监显参数也可根据载荷的需求,通过参数列表、参数曲线图、图像视频等多种方式灵活显示。当载荷测试时数据监显界面会实时显示载荷关键参数的变化,将接收到的数据自动解析为统一的数据格式,便于测试人员观察数据变化。数据格式一般包括源码、比特位模式、物理值和物理含义4项。

数据库模块用于实现系统运行数据的存储管理,对外提供统一的数据调取接口,方便数据的在线和离线分析。数据库利用SQLite3的“单一文件”特性,将数据库中所有的信息(例如表、视图等)都包含在一个独立文件内。基于数据库,可以将不同载荷的各类下行数据都保存为一个单一文件,文件可以复制到其他目录或其他机器上,从而可以方便地实现地面检测系统跨平台操作。数据库模块将数据存储后,支持对海量存储数据的查询与定位。不同的载荷可通过日期、内容、关键字等数据筛选方式快速定位到满足条件的测试数据,并可以随时进行测试数据的回放。另外,也可以将数据以Excel形式导出,便于存档及数据分析。

1.4.2 地面检测系统安全可靠性设计

考虑到载荷测试过程中,需要对载荷状况进行实时监控,以防出现载荷失效,因此,需要地面检测系统对接收的数据进行分析、判断、处理。如果某一参数出现异常,数据处理模块将通过参数飘红、高亮、闪烁等方式向测试人员发出预警。另外,考虑载荷部分关键器件使用寿命限制,地面检测系统通过数据处理模块可以对使用时间或频次进行统计,例如开机总时间、继电器的动作次数、器件工作时间等,这些统计数据可以为载荷安全可靠性分析和失效分析提供明确数据,是载荷安全可靠性设计的重要基础。

数据注入模块主要用于制作符合空间站注入规范的指令。指令形式包括立即指令、带时间码的指令和柜内指令3种。每条数据注入指令可由若干事件组成,每添加一个事件数据注入模块都会在指令对应的事件计数位加“1”。基于安全可靠性的考虑,数据注入模块在完成添加事件前,会检查指令可添加的剩余事件长度。若新添加事件的长度大于剩余事件长度,数据注入模块将给出“事件长度超出范围”的提示。载荷的电源开关通常是有上电顺序的,如果上电顺序不当,有可能会造成器件的损坏。当注入电源开关指令时,数据注入模块会检查其上电的先后顺序,以保障载荷的上电安全。所有制作完成的指令将会逐条保存在一个列表中,通过该列表可以查看指令的注入源码和相应的中文解析,使指令制作人员能检查核对。数据注入模块可以在测试过程中形成测试日志和操作日志,并对其进行查询、导出和管理。

通信模块与载荷间的通信接口有RS422接口和以太网接口两种。RS422接口数据链路层使用UART协议,在协议层保证波特率设置和奇偶校验的正确性;以太网接口使用TCP/IP协议,传输速率设置为600 Mbit/s。通信模块与NI采集输出卡间通过调用NI-DAQmx的API函数进行通信[14]。在需要调用NI-DAQmx的文件时,导入NI-DAQmx的头文件和库文件就可以很方便地使用DAQ提供的函数来实现采集卡的读取与输出。当有图像和视频数据传输时,为了避免单个进程处理大数据流时响应变慢,甚至出现界面卡死的现象,对通信模块进行了通信功能的可靠性设计,软件使用了主线程、大数据收发线程和轻数据收发线程3种线程配置。主线程负责响应用户交互,大数据收发线程负责图像视频数据的传输获取,轻数据收发线程负责工程数据的收发。通过上述设计,系统在操作大数据的过程中即使遇到了用户操作,也完全可以在另一个不同的进程中去响应用户,从而保证整个系统的流畅性。

1.4.3 载荷在轨性能优化

从以往科学载荷在轨测试的经验来看,由于空间环境复杂,受到微重力、磁场等因素影响,普遍存在在轨实验参数与地面测试参数不匹配的情况。目前在轨的测试工作基本还是用地面测试参数配合经验模型来调整在轨实验参数,但这种方法需要花费大量时间。基于此,地面检测软件设计了一种基于人工智能的方法,以实现载荷在轨实验参数的快速自动寻优。

人工智能算法是利用计算机来实现一些通常需要人类智能才能完成的复杂工作。其中典型的算法有支持向量机算法、决策树算法、神经网络算法等。神经网络是由众多可调权重的神经元连接组成,单个神经元比较简单,但大量神经元相互组合就变成了复杂的系统。通过反向传播的方法,不断调整神经的权重,理论上神经网络算法能拟合任意函数。因此地面检测系统选择了神经网络算法来拟合科学实验的过程。

人工智能优化参数模块主要实现科学实验载荷在轨实验参数的自动优化功能。人工智能优化参数模块把每个载荷的科学实验都当作黑盒函数。黑盒函数的输入是载荷需要优化的参数,参数数量为n个,输出是需要优化的目标。科学实验载荷的实验流程是:首先通过地面检测系统软件建立一个模型,例如建立一个n个输入的神经网络的模型,如图3所示,模型初始权重为随机值,同时设置一组初始值参数,通过遥科学通道,发送给在轨的科学实验载荷,科学载荷使用这组参数进行实验,实验结束后返回科学实验结果,地面根据实验结果和模型的输出结果的差值通过梯度下降和反向传播来更新模型的权重,同时使用SciPy库调用L-BFGS-B方法预测能使差值最小的实验参数。地面再将这组新的参数通过遥科学发送给在轨载荷,科学载荷使用新的参数进行实验,得到新的结果,再更新模型和预测新的参数,多次迭代后,使用预测的参数获得的实验结果与模型输出结果之差接近于0,通过科学实验的结果可以发现此时预测参数即为最佳实验参数。

图3 人工智能模型示意图

2 应用验证

空间站有效载荷地面检测系统设计在“天宫二号”空间冷原子钟、空间站超冷原子物理实验柜和空间站高精度时频实验柜微波钟的研制与测试工作中得到了验证。

(1) 通过地面测试,验证了与载荷间的通信功能,当数据通信正常时,地面检测系统的监显界面进行实时刷新,监显功能如图4所示。每个参数有统一的数据格式,包括参数名称(物理含义)、显示格式、单位、数据内容(物理值)和源码。同时,验证了数据异常时的报警功能,当参数正常时,数据显示正常(黑色),如果参数出现异常,如超过阈值、突变等,监显界面立即通过参数飘红处理发出示警。通过该功能,测试人员可以迅速发现载荷的异常情况,做出相对应的处置。该功能可有效降低载荷地面测试的故障。

图4 数据监显功能示意图

(2) 对地面检测系统的通用性进行了验证。系统通过读入数据接口单,自动生成图5所示的数据注入界面。通过该功能,不同载荷的测试人员只要提交数据接口单,软件就可以自动配置相应的数据注入和数据监显,大大减少了测试人员手工配置的工作量。

图5 数据注入示意图

(3) 通过地面测试,对地面检测系统的组包、画图、模拟量采集等功能进行了验证,如图6所示。测试过程中,根据指令要求,监显界面可以正确显示目标图像。坐标横轴是时间,纵轴是参数的模拟信号强度,通过该功能,测试人员可以形象地看到模拟量参数随时间的变化情况。

图6 数据组包、作图示意图

(4) 通过对TG-2空间冷原子钟鉴定件进行测试,对数据处理模块的统计功能进行了验证。如图7所示,地面检测系统实现了开关机判断功能,生成的Excel列表准确地统计并显示了开关机动作的时间和开机持续的时间。通过该功能,测试人员可统计出有寿命限制的元器件使用情况,例如激光器、继电器开关等。通过掌握这些统计数据,测试人员可在临近器件寿命时,对其特别关注或通过货运飞船将器件上行更换。

图7 数据统计功能示意图

(5) 由于目前空间站科学实验载荷还在研制阶段,无法进行在轨测试,为了验证人工智能优化参数的功能,构造了一个有5个参数的黑箱函数。与在轨科学实验相同,人工智能优化参数模块的目标是找到能使这个黑箱函数输出值最小的5个参数的值。采用了在线学习的方式,即每次优化得到预测参数后,将预测参数输入黑箱函数,将函数的输出用来训练神经网络,再预测新的参数。通过图8可以看到,随着迭代次数的增加,黑箱函数的输出持续减小,最终在设定的优化目标附近波动。此次验证共迭代1200次,耗时约30 min,可以预计,当载荷在轨运行时,利用该模块可以大幅减少调整参数的时间。

图8 黑箱函数输出随迭代增加持续减小

(6) 利用 “天宫二号”空间冷原子钟在轨磁屏蔽内的剩余磁场数据对优化参数功能进行了验证。使用Jiles-Atherton(J-A)磁滞模型来计算屏蔽罩内剩余磁场。该模型有7个参数,通过这7个参数可以计算出剩余磁场,再将计算值与实测磁场相减,得到的误差用于优化神经网络的权重,通过神经网络预测下一组能使误差变小的参数。通过快速迭代,约20 min完成了优化,使用优化后的参数计算屏蔽罩的剩余磁场与通过磁通门实测的磁场,如图9所示。图9中蓝线为通过磁场门实测的磁场,红线为使用优化后参数计算得到的磁场,可以看到红线与蓝线基本重叠,这说明人工智能优化参数模块有效地优化了参数。

图9 通过J-A模型计算和实测的剩余磁场

3 结束语

笔者设计了一种通用的空间站有效载荷地面检测系统,该地面检测系统软件采用模块化设计加载配置文件的方式,将不同应用载荷的共同需求提炼成规范化配置文件模板,大大提高了地面检测系统的通用性。同时,该检测系统基于人工智能技术,从设计上可以实现科学实验载荷在轨实验参数的优化。空间站预计在轨运行10年,该地面检测系统可以广泛应用于不同科学实验载荷的地面测试和在轨的科学实验过程中,有助于开展科学实验载荷地面验证,并有效提高科学实验在轨运行效率。

猜你喜欢
配置文件科学实验载荷
交通运输部海事局“新一代卫星AIS验证载荷”成功发射
“天宫”上的科学实验
互不干涉混用Chromium Edge
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
为View桌面准备父虚拟机
中国首颗微重力科学实验卫星将于4月发射
滚转机动载荷减缓风洞试验
精心准备 科学实验
国际空间站上的科学实验