NASA的开源软件是什么?NASA的开源软件的详细分析.doc

上传人:白大夫 文档编号:3263469 上传时间:2019-08-06 格式:DOC 页数:5 大小:21KB
返回 下载 相关 举报
NASA的开源软件是什么?NASA的开源软件的详细分析.doc_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《NASA的开源软件是什么?NASA的开源软件的详细分析.doc》由会员分享,可在线阅读,更多相关《NASA的开源软件是什么?NASA的开源软件的详细分析.doc(5页珍藏版)》请在三一文库上搜索。

1、NASA的开源软件是什么?NASA的开源软件的详细分析随着开源软件技术的迅速发展和影响,各领域各行业的相关共性软件逐渐开放,另一方面也应用开源软件进行系统开发。在航天领域NASA在开源方面走在前列,已开源软件、设计工具达1072个,涵盖航天器整个研制和应用过程。近年来,高性能部组件及高速总线在航天器上的应用,使得卫星计算能力、存储能力都有大幅度提升,星载软件得以有很大施展空间,尤其对卫星小型化、一体化、智能化发展有极大推动作用。本文对NASA的开源软件进行了研究,对部分开源项目做了深入分析,并结合项目需求,开发了基于开源软件的卫星健康状态监视原型系统,同时对未来航天领域开源软件技术的发展趋势及

2、卫星智能化的发展思路进行了探讨。开源软件的迅速发展,逐渐改变了世界开发软件的格局。作为太空探索领域的佼佼者,美国国家航空航天局NASA在2017年3月发布了2017-2018软件目录1,开源了一系列航天相关项目,包括多年使用的设计仿真工具、应用软件和代码库等,大部分可免费使用,如用于与航天器交换大文件的标准工具CCSDS CFDP文件传输协议等。以往论文研究集中在NASA的技术成果转化政策和机制方面,本文从技术角度,对NASA开源软件进行了研究,二次开发实践,并思考了开源技术对软件定义类卫星技术发展,对解决卫星智能化问题有一定的借鉴意义。1NASA开源软件发展概况1.1技术转让计划从1964年

3、开始,一直以尖端的科学技术领先全球的NASA通过设立技术转让计划,开始建立航天技术服务于民生的长效机制,每年都出版一期Spinoff报告,迄今为止,超过2000项技术成功转移到民用领域。NASA在履行好座右铭“我们努力奔向新的高度,为人类福祉而发现未知”的同时,其建立的技术转让计划使得众多中小企业利用NASA科研成果进行创业,新的领域得到广泛应用。在航天领域NASA设立的技术转让计划成为运行良好、效益突出的高技术成果转化机制,加速了科技成果转化。1.21.2 开源进展和目的作为技术转让计划中的一部分,NASA在官网上发布了大量航天项目中的开源软件和工具,目前,一共有1072可用的程序软件,涵盖

4、项目管理、数据和图像处理、电源系统、航天器设计与集成工具、自主系统等15个方面,见图1。这些代码来自NASA Ames、JPL、Jonhson、Armstrong等11个研发中心和机构。NASA的做法有两方面目的,一方面希望通过开源社区同行评审提高代码质量、加速开发,并能收获更多项目改进的建议,另一方面,最大化NASA研究的知名度和影响,同时也将技术转让给企业和个人,用于新的领域发展最新科技。图1 软件目录分类Fig.1 NASA Open Source Software Category2NASA典型开源项目2.1Livingstone2(L2)Livingstone22-3由NASA Am

5、es中心研制,是基于模型的故障诊断和恢复引擎,目的使复杂系统如航天器,不断自主化和智能化,在最少人工干预下,实现系统状态自我感知、诊断和响应非正常状态,尤其是面临硬件故障或未知事件。通过建立一组多层次的定性逻辑模型,通过对比模型预测数据和传感器实测数据来检测和诊断系统故障,实现追踪系统的状态,并根据不同状态给出建议指令实现系统继续运行,原理见图2所示。L2已经在包括X34推进系统和国际空间站等几个试验床上实施和应用,同时也在地球观测卫星1号(EO-1)上进行过飞行试验。图2 L2诊断原理Fig.2 NASA L2 Diagnosis Principle2.2Trick 航天器仿真环境Trick

6、 航天器仿真环境4由NASA 约翰逊空间中心研发,使用户可以对航天器研制的各个阶段建立仿真应用,包括早期设计、性能指标评估、飞行软件开发和测试,飞行过程动态分析,软件和硬件的闭环测试。目的是提供一种通用共性的仿真能力,以便各领域专家更专注在特定领域的模型,而不是仿真功能应用如任务排序、数据存储等。但是这款软件只对美国公民开放。图3为Trick蒙特卡洛高级仿真功能流程,允许用户对不同输入进行重复仿真,不断优化。图3 Trick的蒙特卡洛功能流程Fig.3 Trick Monte Carlo Advanced Simulation Capability Flow2.3Open MCT5Open M

7、CT( Open Mission Control Technologies )是下一代具有数据可视化的任务控制框架,可在桌面端和移动端分别使用,由NASA Ames中心开发,用于航天器任务分析,运行控制和规划。作为一个通用开放的基础平台,用户可在Open MCT基础上进行二次开发,针对不同航天器开发任务规划、控制和数据分析等应用。系统效果图见图4。图4 Open MCT系统效果Fig.4 Open MCT General View3基于开源软件的卫星健康状态监视原型系统3.1系统介绍系统用于监视卫星平台健康状态,目前包括但不限于CPU温度、GPU温度、CPU使用率、RAM使用率、ROM使用率、

8、姿态测量参数(如加速度传感器XYZ,磁强计XYZ等)等信息,将健康状态信息(SOH: State Of Health)以CCSDS数据包格式封装,通过无线射频链路发送到地面站系统,以图表形式进行显示信息。3.2系统架构系统利用Raspberry PI+PC构建验证原型系统,RPI作为卫星端,运行Linux系统和飞控系统软件,应用软件SOH,PC端作为地面端,运行Linux系统及地面站软件,通过WiFi无线链路连接,系统运行后,可进行遥测遥控功能。系统架构图如下:图5系统架构Fig.5 System architecture3.3系统成果系统集成开源软件的技术优势,并结合需求进行定制化改进,经过

9、三个月测试,软件工作正常,系统运行稳定,实现了简单的健康状态监视功能。下一步可通过总线集成更多部件,进行对应功能软件开发,丰富完善。地面系统运行图,见图6图6地面系统运行图Fig.6 Ground System View4思考与启示4.1航天领域开源软件思考在航天软件领域,NASA开源了从航天器仿真、设计工具、星载软件、地面任务控制、结构材料设计工具等各类应用软件、代码库和工具。官网上开源动机是希望开源社区同行的使用提高软件质量,从某种程度上讲,使用这些代码尤其是二次开发会让技术实力稍弱的企业依赖NASA的基础级代码,影响自主创新能力。航天软件对太空资产的重要性不言而喻,尤其是基础的核心软件。

10、在操作系统方面,VxWorks 操作系统依然是国内大部分航天项目主流选择,开源化研究操作系统,值得思考。另一方面,人工智能技术共性的系统是Linux,许多机器学习算法基于Linux开发,卫星智能化发展是选择开源的路线,集智发展,抑或是传统领域吸收成熟智能算法融合发展,这也是一个值得探讨的研究方向。4.2开源将会是商业航天企业技术重要驱动开源软件具有开放、共享、自由等特性,企业可避免重复造轮子,使用最少的人力、物力、财力就能很快构建一个系统,在开源软件基础上定制灵活,通过社区的力量,软件也更稳定、安全性更高,可及时发现和修复安全漏洞,一个非常成功的例子,Android 2007年以开源形式发布后,阵营呈现爆炸式增长,成为份额第一的移动操作系统6。更稳定、更安全、更可靠的追求促使航天软件开发测试成本更高,由于追求高可靠和责任重大,导致软件发展已慢于互联网软件行业发展。商业航天的发展,结合开源技术,在软件质量、软件成本方面,有望改变这一局面。结束语NASA开源的项目软件,部分代码每天迭代更新,提高了软件的质量,进一步降低了应用在航天类项目中的风险,这对于软件定义类卫星技术发展有着很大借鉴意义。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1